為此,只需在 MongoDB 中使用點表示法和 find() 即可。讓我們創建一個包含文檔的集合 –
> db.demo465.insertOne(
... {
... id: 101,
... details: [{
... Name: "Chris",
... Info: {
... Subject: "MongoDB",
... Marks:67
... }
... }, {
... Name: "David",
... Info: {
... Subject: "MySQL",
... Marks:78
... }
... }]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e80421bb0f3fa88e2279061")
}
>
> db.demo465.insertOne(
... {
... id: 102,
... details: [{
... Name: "Bob",
... Info: {
... Subject: "Java",
... Marks:45
... }
... }, {
... Name: "Carol",
... Info: {
... Subject: "C",
... Marks:67
... }
... }]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5e80421cb0f3fa88e2279062")
}
登錄后復制
借助 find() 方法顯示集合中的所有文檔 –
> db.demo465.find();
登錄后復制
這將產生以下輸出 –
{ "_id" : ObjectId("5e80421bb0f3fa88e2279061"), "id" : 101, "details" : [ { "Name" : "Chris",
"Info" : { "Subject" : "MongoDB", "Marks" : 67 } }, { "Name" : "David", "Info" : { "Subject" :
"MySQL", "Marks" : 78 } } ] }
{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }
登錄后復制
以下是獲取數組中包含另一個文檔的所有文檔的查詢 –
> db.demo465.find({"details.Name":"Bob"});
登錄后復制
這將產生以下輸出 –
{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }
登錄后復制
以上就是如何使用 MongoDB 獲取數組中包含另一個文檔的所有文檔?的詳細內容,更多請關注www.92cms.cn其它相關文章!






