Hướng dẫn how do i update an embedded file in mongodb? - làm cách nào để cập nhật tệp nhúng trong mongodb?
Tôi có một tài liệu trông như thế này: Show
Tôi muốn cập nhật tất cả các tác giả.Name dựa trên tác giả.Slug. Tôi đã thử điều này nhưng nó không hoạt động:
Tôi làm gì sai ở đây? Để cập nhật các tài liệu tốt nhất trong MongDB, hãy sử dụng nhà điều hành Update () và vị trí ($). Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -$) operator. Let us create a collection with documents − > db.demo643.insertOne({ ... details : [ ... { ... "CountryName":"US", ... StudentDetails:[{Name:"Chris"},{SubjectName:"MySQL"}] ... }, ... ... { ... "CountryName":"UK", ... StudentDetails:[{Name:"Bob"},{SubjectName:"Java"}] ... } ... ] ... } ... ) { "acknowledged" : true, "insertedId" : ObjectId("5e9c737f6c954c74be91e6e3") } Hiển thị tất cả các tài liệu từ một bộ sưu tập với phương thức trợ giúp của find () - > db.demo643.find(); Điều này sẽ tạo ra đầu ra sau - { "_id" : ObjectId("5e9c737f6c954c74be91e6e3"), "details" : [ { "CountryName" : "US", "StudentDetails" : [ { "Name" : "Chris" }, { "SubjectName" : "MySQL" } ] }, { "CountryName" : "UK", "StudentDetails" : [ { "Name" : "Bob" }, { "SubjectName" : "Java" } ] } ] } Sau đây là truy vấn để cập nhật các tài liệu nhúng lồng nhau trong MongoDB - > db.demo643.update({"details.CountryName": "UK"}, {"$push": {"details.$.StudentDetails": {Marks:78}}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) Hiển thị tất cả các tài liệu từ một bộ sưu tập với phương thức trợ giúp của find () - > db.demo643.find().pretty(); Điều này sẽ tạo ra đầu ra sau - { "_id" : ObjectId("5e9c737f6c954c74be91e6e3"), "details" : [ { "CountryName" : "US", "StudentDetails" : [ { "Name" : "Chris" }, { "SubjectName" : "MySQL" } ] }, { "CountryName" : "UK", "StudentDetails" : [ { "Name" : "Bob" }, { "SubjectName" : "Java" }, { "Marks" : 78 } ] } ] }
Sau đây là truy vấn để cập nhật các tài liệu nhúng lồng nhau trong MongoDB -
Thí dụĐối với lược đồ sau:
Cập nhật điểm của Tom lên 55 trong đó các nhãn hiệu là 50 (sử dụng toán tử vị trí $):
Đối với lược đồ sau: 0Cập nhật điểm của Tom lên 55 trong đó các nhãn hiệu là 50 (sử dụng toán tử vị trí $): 1Cập nhật nhãn hiệu tiếng Anh của Tom lên 85: Giải thích ở trên ví dụ: Cập nhật các giá trị trong một mảng Toán tử $ định vị xác định một phần tử trong một mảng để cập nhật mà không chỉ định rõ ràng vị trí của phần tử trong mảng. Hãy xem xét một sinh viên bộ sưu tập với các tài liệu sau: 2Để cập nhật 80 đến 82 trong mảng điểm trong tài liệu đầu tiên, hãy sử dụng toán tử $ định vị nếu bạn không biết vị trí của phần tử trong mảng: 3Làm cách nào để cập nhật một tài liệu hiện có trong MongoDB?Shell MongoDB cung cấp các phương pháp sau để cập nhật các tài liệu trong một bộ sưu tập:.. Để cập nhật một tài liệu duy nhất, hãy sử dụng DB. thu thập. Cập nhật (). Để cập nhật nhiều tài liệu, hãy sử dụng DB. thu thập. Updatemany (). Để thay thế một tài liệu, sử dụng DB. thu thập. thay thế (). Làm cách nào để cập nhật một mảng nhúng trong MongoDB?Để thực hiện bản cập nhật trên tất cả các phần tử mảng được nhúng của từng tài liệu phù hợp với truy vấn của bạn, hãy sử dụng toán tử vị trí được lọc $ [].Toán tử vị trí được lọc $ [] chỉ định các phần tử mảng phù hợp trong tài liệu cập nhật.use the filtered positional operator $[
Nhà điều hành nào được sử dụng để cập nhật tài liệu trong MongoDB?Để cập nhật một tài liệu, MongoDB cung cấp các toán tử cập nhật, chẳng hạn như $ set, để sửa đổi các giá trị trường.: {:, ...},: {:, ...}, ...$set , to modify field values.
Làm thế nào để bạn cập nhật một tài sản trong MongoDB?MongoDB cập nhật một trường cụ thể để cập nhật một trường hoặc các trường cụ thể chỉ cần sử dụng toán tử $ set.Điều này sẽ cập nhật một trường cụ thể của "citiname" theo giá trị "jakarta pusat" được xác định bởi toán tử $ set.use the $set operator. This will update a specific field of "citiName" by value "Jakarta Pusat" that defined by $set operator. |