Đối tượng lồng nhau MongoDB

Bạn có một tài liệu được lồng bên trong một tài liệu khác và bạn muốn cập nhật một số trường tài liệu lồng nhau nhưng để tất cả các trường khác ở giá trị hiện tại của chúng. Bạn có một tài liệu mới chỉ chứa các trường bạn muốn cập nhật và các giá trị mới của chúng, đồng thời bạn muốn thực hiện cập nhật dưới dạng một lệnh

Một lệnh gọi duy nhất có thể đặt giá trị của nhiều trường, vì vậy theo nghĩa đó, điều này có thể được thực hiện trong một lệnh duy nhất

// set up target document
db.coll1.insert({ _id : 999,
                embDoc: {f01:"val01",  f02:"val02",  f03:"val03",
                         f04:"val04",  f05:"val05",  f06:"val06",
                         ...
                         f99 : "val99"  }
                });

// new field values
var newVals = {f02:"val2_new",  f04:"val4_new",  f06:"val6_new"};

//
db.coll1.update({_id:999}, {$set: {"embDoc.f02" : newVals.f02,
                                   "embDoc.f04" : newVals.f04,
                                   "embDoc.f06" : newVals.f06}}) ;

Bạn cũng có thể thay vì update()

Tuy nhiên, tôi nghĩ OP cho câu hỏi SO mà bạn liên kết muốn muốn là một lệnh sửa đổi tài liệu MongoDB duy nhất mà anh ấy có thể chuyển biến newVals tới. Anh ấy muốn một cái gì đó như thế này

db.coll1.update({_id:999}, {$set: {"embDoc" : newVals}});

điều đó đã không xóa sạch tất cả các trường không được cập nhật. Anh ấy không muốn phải chỉ định tất cả các tên trường “fNN” trong lệnh gọi cập nhật của mình như tôi đã làm ở trên. Có lẽ các newVals của anh ấy được tạo động và có thể chứa một nhóm trường khác (và các giá trị mới cho chúng) vào các thời điểm khác nhau, vì vậy mã hóa cứng chúng không phải là một giải pháp

Đây là mã định dạng lại newVals thành tài liệu JSON có thể được chuyển tới $set trong lệnh update()

// build '{"key1:"value1", "key2:"value2", .. ' string from newVals
var setC = '{' ;
for (var ff in newVal) {
  setC = setC + ' "embDoc.' + ff + '":"newVal.' + ff + '",';
};
// trim end comma and replace with '}'
setC = setC.substring(0, setC.length -1) + '}' ;
// convert string to a JSON object
var setJ = JSON.parse(setC) ;

db.coll1.update({"_id":999}, {$set : setJ});

Đây vẫn chỉ là một lệnh cập nhật MongoDB - mã bổ sung là do thông tin thay đổi trong tài liệu newVals không ở dạng phù hợp để chuyển sang update()

Giải pháp tổng thể tốt nhất là thay đổi mã đặt biến newVals tương đương trong ứng dụng của bạn để sử dụng định dạng này

 var newVals = {"embDoc.f02" : "val2_new",
                 "embDoc.f04" : "val4_new",
                 "embDoc.f06" : "val6_new"
               }

Bằng cách đó, nó có thể thay thế setJ trong lệnh update() thứ hai của tôi ở trên và loại bỏ nhu cầu định dạng lại mã, khiến đây trở thành “giải pháp một lệnh” mà bạn đang tìm kiếm

Trong hướng dẫn MongoDB này, chúng ta sẽ hiểu về truy vấn lồng nhau MongoDB. Chúng tôi sẽ đề cập đến chủ đề này với các hoạt động và ví dụ khác nhau. Ngoài ra, chúng tôi cũng sẽ thảo luận về danh sách các chủ đề sau đây

  • MongoDB truy vấn lồng nhau
  • Ví dụ truy vấn lồng nhau MongoDB
  • Đối tượng lồng truy vấn MongoDB không trống
  • Truy vấn lồng nhau MongoDB trả về các trường cụ thể
  • Mảng truy vấn lồng nhau MongoDB
  • MongoDB truy vấn lồng nhau không bằng nhau
  • Kết hợp truy vấn lồng nhau MongoDB
  • Truy vấn lồng nhau MongoDB bằng python

Mục lục

MongoDB truy vấn lồng nhau

MongoDB cung cấp một tính năng được gọi là tài liệu được nhúng hoặc lồng nhau. Tài liệu nhúng hoặc tài liệu lồng nhau là những loại tài liệu chứa tài liệu bên trong tài liệu khác

Nói cách khác, khi một bộ sưu tập có một tài liệu và tài liệu này chứa một tài liệu khác, một tài liệu khác chứa một tài liệu phụ khác, v.v., thì các loại tài liệu đó được gọi là tài liệu được nhúng hoặc tài liệu lồng nhau.  

ghi chú

  • Trong MongoDB, bạn chỉ có thể lồng tài liệu tối đa 100 cấp độ
  • Tổng kích thước tài liệu không được vượt quá 16 MB

Đọc Tạo bảng trong MongoDB

Quy trình tạo tài liệu Nhúng

Trong MongoDB, bạn chỉ cần nhúng một tài liệu vào trong một tài liệu khác. Như chúng ta biết rằng trong mongo shell, các tài liệu được định nghĩa bằng dấu ngoặc nhọn ( {} ) và bên trong các dấu ngoặc nhọn này, chúng ta có các cặp giá trị trường

Bây giờ bên trong các trường này, chúng ta có thể nhúng hoặc đặt một tài liệu khác bằng cách sử dụng dấu ngoặc nhọn {} và tài liệu này có thể bao gồm các cặp giá trị trường hoặc tài liệu phụ khác

cú pháp

{
   field: { field1: value1, field2: value2 }
}

Đọc Cách MongoDB tạo bộ sưu tập

Ví dụ truy vấn lồng nhau MongoDB

Trong chủ đề MongoDB này, bạn sẽ hiểu khái niệm truy vấn lồng nhau với sự trợ giúp của ví dụ đã cho

Ví dụ

Chúng tôi có một cơ sở dữ liệu 'Công ty'. Bây giờ cơ sở dữ liệu này có một bộ sưu tập có tên là 'khoảng không quảng cáo' và bộ sưu tập này chứa các tài liệu sau

Bên trong tài liệu này, chúng ta có một tên trường ‘item’ chứa một tài liệu khác và tài liệu này chứa hai trường (i. e, sku, color) với các giá trị của chúng

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Ví dụ truy vấn lồng nhau MongoDB

Các tài liệu sau đây sẽ chèn vào bộ sưu tập hàng tồn kho

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])

Bây giờ, Chèn tài liệu vào bộ sưu tập. Và, kiểm tra đầu ra

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Tìm truy vấn lồng nhau MongoDB

Vì vậy, bộ sưu tập hàng tồn kho chứa 4 tài liệu và các tài liệu này chứa các tài liệu lồng nhau. Bạn có thể truy cập các tài liệu của bộ sưu tập bằng phương thức find()

db.inventory.find().pretty()

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Ví dụ truy vấn lồng nhau MongoDB

Đọc sao lưu và khôi phục MongoDB

Đối tượng lồng truy vấn MongoDB không trống

Trong chủ đề MongoDB này, bạn sẽ học cách lấy tất cả các tài liệu trong đó ít nhất một phần tử của trường mảng lồng nhau không rỗng hoặc trống. Hãy hiểu điều này theo sau là một ví dụ

Ví dụ

Các tài liệu sau đây sẽ chèn vào bộ sưu tập hàng tồn kho

db.inventory.insertMany( [
   { item: "journal", instock: [ { warehouse: "A", qty: 5 }, { warehouse: "C", qty: 15 } ] },
   { item: "notebook", instock: [ { warehouse: "C", qty: 5 } ] },
   { item: "planner", instock: [ { warehouse: null, qty: 40 }, { warehouse: "B", qty: 5 } ] },
   { item: "postcard", instock: [ { warehouse: null, qty: 15 }, { warehouse: null, qty: 35 } ] }
])

Hãy kiểm tra việc thực thi mã

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Đối tượng lồng truy vấn MongoDB không trống

Sau đó, chúng ta sẽ áp dụng truy vấn dưới đây cho tập hợp so sánh tất cả các phần tử của mảng để lấy tất cả các tài liệu trong đó có ít nhất một phần tử của trường mảng lồng nhau không rỗng hoặc rỗng

________số 8

Ở đây, chúng tôi đã sử dụng toán tử $elemMatch để khớp các tài liệu chứa trường mảng 'instock' với ít nhất một phần tử khớp với tất cả các tiêu chí truy vấn đã chỉ định

Và, $ne được sử dụng để chọn các tài liệu trong đó giá trị của trường 'kho' không bằng giá trị đã chỉ định.  

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Đối tượng lồng truy vấn MongoDB không rỗng

Chúng tôi đã truy xuất thành công các tài liệu trong đó thuộc tính tài liệu mảng lồng nhau không phải là null

Đọc Cách tạo cơ sở dữ liệu mới trong MongoDB

Truy vấn lồng nhau MongoDB trả về các trường cụ thể

Trong chủ đề này, bạn sẽ học cách trả về các trường cụ thể từ các tài liệu lồng nhau của bộ sưu tập MongoDB. Hãy hiểu điều này với sự giúp đỡ của một ví dụ

Ví dụ

Các tài liệu sau đã được chèn vào bộ sưu tập sản phẩm

db.products.insertMany([
{ "_id" : 1, "name" : "xPhone", "price" : 799, "releaseDate" : ISODate("2011-05-14T00:00:00Z"), "spec" : { "ram" : 4, "screen" : 6.5, "cpu" : 2.66 }, "color" : [ "white", "black" ], "storage" : [ 64, 128, 256 ] },
{ "_id" : 2, "name" : "xTablet", "price" : 899, "releaseDate" : ISODate("2011-09-01T00:00:00Z"), "spec" : { "ram" : 16, "screen" : 9.5, "cpu" : 3.66 }, "color" : [ "white", "black", "purple" ], "storage" : [ 128, 256, 512 ] },
{ "_id" : 3, "name" : "SmartTablet", "price" : 899, "releaseDate" : ISODate("2015-01-14T00:00:00Z"), "spec" : { "ram" : 12, "screen" : 9.7, "cpu" : 3.66 }, "color" : [ "blue" ], "storage" : [ 16, 64, 128 ] },
{ "_id" : 4, "name" : "SmartPad", "price" : 699, "releaseDate" : ISODate("2020-05-14T00:00:00Z"), "spec" : { "ram" : 8, "screen" : 9.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256, 1024 ] },
{ "_id" : 5, "name" : "SmartPhone", "price" : 599, "releaseDate" : ISODate("2022-09-14T00:00:00Z"), "spec" : { "ram" : 4, "screen" : 5.7, "cpu" : 1.66 }, "color" : [ "white", "orange", "gold", "gray" ], "storage" : [ 128, 256 ] }
])

Sau đó, chúng tôi sẽ áp dụng truy vấn sau để tìm để trả về các trường cụ thể từ các tài liệu lồng nhau

db.coll1.update({_id:999}, {$set: {"embDoc" : newVals}});
0

Ở đây, chúng tôi đã sử dụng toán tử lớn hơn $gt để trả về các tài liệu cụ thể trong đó thông số kỹ thuật. ram' lớn hơn 4

Lưu ý rằng, khi truy cập tài liệu bằng ký hiệu dấu chấm, trường và trường lồng nhau phải nằm trong dấu ngoặc kép

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Truy vấn lồng nhau MongoDB trả về các trường cụ thể

Chúng tôi đã trả về thành công các tài liệu cụ thể về mảng lồng nhau của bộ sưu tập

Đọc Xuất MongoDB sang CSV

Mảng truy vấn lồng nhau MongoDB

Trong chủ đề này, bạn sẽ học cách tìm mảng lồng nhau của bộ sưu tập MongoDB khớp với tài liệu đã chỉ định. Vì vậy, hãy hiểu điều này theo sau là một ví dụ

Ví dụ

Trong ví dụ này, chúng ta sẽ học cách tìm ra những tài liệu đó khớp với trường mảng lồng nhau

Các tài liệu sau đây đã được đưa vào bộ sưu tập hàng tồn kho

db.coll1.update({_id:999}, {$set: {"embDoc" : newVals}});
1

Sau đó, chúng tôi sẽ áp dụng truy vấn sau để trả về tất cả các tài liệu đã chọn trong đó một phần tử trong mảng kho khớp với tài liệu đã chỉ định

db.coll1.update({_id:999}, {$set: {"embDoc" : newVals}});
2

Lưu ý rằng, các đối sánh bằng trên toàn bộ tài liệu được nhúng hoặc lồng nhau yêu cầu đối sánh chính xác của tài liệu đã chỉ định, bao gồm cả thứ tự trường

Ví dụ: truy vấn tiếp theo không khớp với bất kỳ tài liệu nào trong bộ sưu tập hàng tồn kho

db.coll1.update({_id:999}, {$set: {"embDoc" : newVals}});
3

Hãy kiểm tra đầu ra ngay bây giờ;

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Mảng truy vấn lồng nhau MongoDB

Chúng tôi đã truy xuất thành công tài liệu mảng lồng nhau của bộ sưu tập

Đọc MongoDB không được công nhận là lệnh nội bộ hoặc bên ngoài

MongoDB truy vấn lồng nhau không bằng nhau

Trong chủ đề này, bạn sẽ học cách tìm tất cả các tài liệu trong MongoDB ở dạng mảng lồng nhau trong đó giá trị của trường không bằng giá trị đã chỉ định

MongoDB cung cấp $ne để chọn các tài liệu có giá trị của trường không bằng giá trị đã xác định. Điều này bao gồm các tài liệu không chứa trường

cú pháp

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])
0

Hãy hiểu chủ đề này theo sau là một ví dụ

Ví dụ

Các tài liệu sau đây đã được đưa vào bộ sưu tập hàng tồn kho

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])

Bây giờ, chúng ta sẽ áp dụng truy vấn sau để chọn tất cả tài liệu từ bộ sưu tập khoảng không quảng cáo nơi giá trị trường mảng lồng nhau không bằng nhau

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])
2

Ở đây, chúng tôi đã sử dụng thao tác $ne và áp dụng truy vấn trên 'mục' của trường mảng lồng nhau. màu' để trả lại các tài liệu trong đó 'màu' không bằng 'màu xanh'

Kiểm tra đầu ra ngay bây giờ;

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
MongoDB truy vấn lồng nhau không bằng nhau

Chúng tôi đã tìm thấy thành công tất cả các tài liệu trong đó trường mảng lồng nhau không bằng nhau

Đọc MongoDB tham gia hai bộ sưu tập

Kết hợp truy vấn lồng nhau MongoDB

Trong chủ đề này, bạn sẽ học cách tìm các tài liệu đó từ bộ sưu tập MongoDB khớp với trường mảng lồng nhau. Hãy hiểu điều này với sự giúp đỡ của một ví dụ

Ví dụ

Trong ví dụ này, chúng ta sẽ tìm ra những tài liệu từ bộ sưu tập MongoDB khớp với trường mảng lồng nhau

Các tài liệu sau đây đã được đưa vào bộ sưu tập hàng tồn kho

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])
3

Bây giờ, chúng ta sẽ áp dụng truy vấn sau để so khớp trường mảng lồng nhau và tìm ra những tài liệu thỏa mãn điều kiện

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])
4

Lưu ý rằng, các đối sánh bằng trên toàn bộ tài liệu được nhúng hoặc lồng nhau yêu cầu đối sánh chính xác của tài liệu đã chỉ định, bao gồm cả thứ tự trường

Ví dụ: truy vấn tiếp theo không khớp với bất kỳ tài liệu nào trong bộ sưu tập hàng tồn kho

db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])
5

Hãy kiểm tra đầu ra ngay bây giờ;

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Kết hợp truy vấn lồng nhau MongoDB

Chúng tôi đã truy xuất thành công các tài liệu mảng lồng nhau phù hợp của bộ sưu tập MongoDB

Cũng đọc, Nhập CSV vào MongoDB

Truy vấn lồng nhau MongoDB bằng python

Trong MongoDB, truy vấn đóng vai trò quan trọng để tìm nạp một bản ghi cụ thể từ tài liệu MongoDB. Pymongo là một mô-đun python được sử dụng để tương tác giữa cơ sở dữ liệu mongo và ứng dụng Python

Trong chủ đề này, chúng ta sẽ học cách tìm các tài liệu MongoDB ở dạng mảng lồng nhau với sự trợ giúp của python. Hãy hiểu điều này với sự giúp đỡ của một ví dụ

Ví dụ

Trong code, chúng ta đã import thư viện pymongo để tương tác giữa cơ sở dữ liệu mongo và ứng dụng Python. Sau đó, hãy làm theo các bước dưới đây;

  • Tạo đối tượng MongoClient và kết nối với máy chủ
  • Sau đó, truy cập cơ sở dữ liệu hiện có và bộ sưu tập MongoDB, cơ sở dữ liệu của tôi và khoảng không quảng cáo tương ứng
  • Tiếp theo, sử dụng phương thức find() để lấy danh sách tất cả các tài liệu theo điều kiện xác định
  • Ở đây, Điều kiện là tìm tài liệu có kích thước trường mảng lồng nhau. h’ bằng 14
db.inventory.insertMany([
{ "_id" : 1, "dept" : "A", "item" : { "sku" : "101", "color" : "red" }, "sizes" : [ "S", "M" ] },
{ "_id" : 2, "dept" : "A", "item" : { "sku" : "102", "color" : "blue" }, "sizes" : [ "M", "L" ] },
{ "_id" : 3, "dept" : "B", "item" : { "sku" : "103", "color" : "blue" }, "sizes" : "S" },
{ "_id" : 4, "dept" : "A", "item" : { "sku" : "104", "color" : "black" }, "sizes" : [ "S" ] }
])
6

Hãy kiểm tra đầu ra ngay bây giờ;

Đối tượng lồng nhau MongoDB
Đối tượng lồng nhau MongoDB
Truy vấn lồng nhau MongoDB bằng python

Chúng tôi đã truy xuất thành công các tài liệu mảng lồng nhau của bộ sưu tập MongoDB bằng python

Hướng dẫn MongoDB liên quan

  • MongoDB tắt với mã 100
  • Cách kiểm tra xem MongoDB đã được cài đặt chưa
  • MongoDB sắp xếp theo ngày
  • MongoDB sắp xếp theo lĩnh vực
  • Nhóm MongoDB theo nhiều trường

Vì vậy, trong hướng dẫn này, chúng ta đã hiểu về truy vấn lồng nhau MongoDB. Và, chúng tôi đã đề cập đến các hoạt động khác nhau với các ví dụ. Chúng tôi đã đề cập đến danh sách các chủ đề sau đây

  • MongoDB truy vấn lồng nhau
  • Ví dụ truy vấn lồng nhau MongoDB
  • Đối tượng lồng truy vấn MongoDB không trống
  • Truy vấn lồng nhau MongoDB trả về các trường cụ thể
  • Mảng truy vấn lồng nhau MongoDB
  • MongoDB truy vấn lồng nhau không bằng nhau
  • Kết hợp truy vấn lồng nhau MongoDB
  • Truy vấn lồng nhau MongoDB bằng python

Bijay

Tôi là Bijay có hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Trong thời gian này, tôi đã làm việc trên MariaDB và sử dụng nó trong rất nhiều dự án. Hầu hết độc giả của chúng tôi đến từ Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v.

Bạn muốn tìm hiểu MariaDB? . Ngoài ra, tôi là MVP của Microsoft

Làm cách nào để tìm các đối tượng lồng nhau trong MongoDB?

Truy cập tài liệu nhúng/lồng nhau – . using dot notation and when you are using dot notation, then the field and the nested field must be inside the quotation marks.

Làm tổ trong MongoDB là gì?

MongoDB cung cấp cho bạn một tính năng thú vị được gọi là Tài liệu nhúng hoặc Tài liệu lồng nhau. Tài liệu nhúng hoặc tài liệu lồng nhau là những loại tài liệu chứa tài liệu bên trong tài liệu khác .

Làm cách nào để chèn tài liệu lồng nhau trong MongoDB?

Sử dụng Shell .
db. hệ thống. điền tên". "sub_system_1", ​​"dữ liệu". {"cao". ["nhiệm vụ1","nhiệm vụ2"], "giữa". ["nhiệm vụ1","nhiệm vụ2"], "thấp". ["nhiệm vụ1","nhiệm vụ2"]}},{"tên". "sub_system_2" ,"dữ liệu". {"cao". ["nhiệm vụ1","nhiệm vụ2"], "giữa". ["nhiệm vụ1","nhiệm vụ2"], "thấp". ["nhiệm vụ1","nhiệm vụ2"]}}])
db. hệ thống

Làm cách nào để cập nhật mảng đối tượng lồng nhau trong MongoDB?

Cập nhật mảng đối tượng lồng nhau .
db. thu thập. .
Toán tử $set thay thế giá trị của một trường bằng giá trị đã chỉ định
The filtered positional operator $[] identifies the array elements that match the arrayFilters conditions for an update operation..