📜  MongoDB –使用Mongo Shell查询嵌入式文档

📅  最后修改于: 2021-04-16 09:06:58             🧑  作者: Mango

MongoDB为您提供读取操作,以从集合中检索嵌入/嵌套的文档,或在集合中查询嵌入/嵌套的文档。您可以使用db.collection.find()方法执行读取操作。此方法选择或查看集合的嵌入/嵌套文档,然后将光标返回到所选文档。

访问嵌入/嵌套的文档–

在MongoDB中,您可以使用点表示法访问集合的嵌套/嵌入文档的字段,并且当您使用点表示法时,该字段和嵌套字段必须在引号内。

句法:

"field.nestedField": value

在以下示例中,我们正在使用:

匹配的嵌入/嵌套文档–

在此示例中,我们将检索与给定嵌入文档完全匹配的文档。

db.Courses.find({name: {first: "Rohit", 
                        middle: "Kumar", 
                        last: "Singh"}}).pretty()

选择与嵌套字段匹配的文档–

在此示例中,我们将检索与指定的嵌套字段匹配的文档。

db.Courses.find({"courseDetails.name": "Java Backend Development"}).pretty()

选择与嵌套字段匹配的文档(使用查询运算符)–

在此示例中,我们使用查询运算符检索与嵌套字段匹配的文档。在这里,在查询中,我们使用$ in运算符。该运算符用于匹配给定数组中指定的任何值。

db.Courses.find({"name.first": {$in: ["Rohit", "Mohit"]}}).pretty()

选择与嵌套字段匹配的文档(使用AND条件)–

在此示例中,我们将检索与嵌套字段匹配的文档。

db.Courses.find({"courseDetails.name": "Sudo GATE 2020",
                 "name.first": "Mohit"}).pretty()

从嵌入/嵌套文档中获取指定的字段:

在此示例中,我们使用投影从嵌入/嵌套文档中检索字段。

db.Courses.find({branch: "CSE"}, {"name.first": 1, 
                                  "name.last": 1}).pretty()