这是我的收藏结构,我想过滤定义参考的所有结果:
{
"_id" : "5xFusfnvRobfMhRKE",
"book" : "Lorem",
"publisher" : "Lorem",
"author" : "Lorem",
"edition" : [
{
"edition" : "Lorem",
"year" : 2015,
"section" : [
{
"pageNumbers" : "12",
"reference" : "4NoHjACkjHJ8mavv9"
}
]
}
]
}
我的尝试是Collection.find({'edition.section.reference': '4NoHjACkjHJ8mavv9'})
,但这不起作用。我希望这与上面的例子匹配。
答案 0 :(得分:0)
我认为此查询可以帮助您 -
db.collection.find({"edition.section.reference":"4NoHjACkjHJ8mavv9"},{}).pretty()
答案 1 :(得分:0)
你必须在collection_name之前使用'db'即。 db.collection.find()和你的问题你实际上做得对,但错过了'db'。
db.sys_test.insert({"-_id":10,"edition":[{"section":[{"reference":"101"}]}]})
db.sys_test.find({"edition.section.reference":"101"}).pretty()
{
"_id" : ObjectId("55faba519d0ff7079e6f9817"),
"-_id" : 10,
"edition" : [
{
"section" : [
{
"reference" : "101"
}
]
}
]
}