在MongoDB中,如何找到嵌入的文档?
In MongoDB, how can I find a document that is embedded?
我在 MongoDB 中创建了一个名为“KPOP”的嵌入文档,我想找到值为“BTS: Fake Love”的字段
这是嵌入文档:
> use TestMongoDB
switched to db TestMongoDB
> db.KPOP.find().pretty()
{
"_id" : ObjectId("5fd83447066c904c1365771a"),
"KPOP" : {
"SHINee" : "Dream Girl",
"Girl's Generation" : "I Got a Boy",
"BTS" : "Fake Love"
}
}
我的代码有问题吗?我按回车后,什么也没有显示。
> db.KPOP.find( {"KPOP": {"BTS": "Fake Love"}} )
试试:
db.KPOP.find( {"KPOP.BTS": "Fake Love"} )
Is something wrong with my code? After I press enter, nothing shows
up.
db.KPOP.find( {"KPOP": {"BTS": "Fake Love"}} )
这是预期的行为。
如果您想查询嵌入文档的单个字段,您需要使用以下语法 - 使用点 (.
) 表示法。例如,这两个查询 return 文档:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
在上述查询中,您可以按任意顺序指定一个、两个或所有字段和。
为 whole 嵌入文档指定过滤器时使用以下语法:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
在这种情况下,请注意嵌入文档的字段顺序必须与原始文档的顺序相同;即 SHINee
、"Girl's Generation"
和 BTS
(在 KPOP
内)。并且,您需要指定 所有 嵌入文档的字段。
我在 MongoDB 中创建了一个名为“KPOP”的嵌入文档,我想找到值为“BTS: Fake Love”的字段
这是嵌入文档:
> use TestMongoDB
switched to db TestMongoDB
> db.KPOP.find().pretty()
{
"_id" : ObjectId("5fd83447066c904c1365771a"),
"KPOP" : {
"SHINee" : "Dream Girl",
"Girl's Generation" : "I Got a Boy",
"BTS" : "Fake Love"
}
}
我的代码有问题吗?我按回车后,什么也没有显示。
> db.KPOP.find( {"KPOP": {"BTS": "Fake Love"}} )
试试:
db.KPOP.find( {"KPOP.BTS": "Fake Love"} )
Is something wrong with my code? After I press enter, nothing shows up.
db.KPOP.find( {"KPOP": {"BTS": "Fake Love"}} )
这是预期的行为。
如果您想查询嵌入文档的单个字段,您需要使用以下语法 - 使用点 (.
) 表示法。例如,这两个查询 return 文档:
db.test.find({"KPOP.SHINee": "Dream Girl"})
db.test.find({"KPOP.SHINee": "Dream Girl", "KPOP.BTS": "Fake Love" })
在上述查询中,您可以按任意顺序指定一个、两个或所有字段和。
为 whole 嵌入文档指定过滤器时使用以下语法:
db.test.find({ KPOP: { SHINee: "Dream Girl", "Girl's Generation": "I Got a Boy", BTS: "Fake Love" } })
在这种情况下,请注意嵌入文档的字段顺序必须与原始文档的顺序相同;即 SHINee
、"Girl's Generation"
和 BTS
(在 KPOP
内)。并且,您需要指定 所有 嵌入文档的字段。