在嵌套对象中获取结果

时间:2015-09-17 12:14:25

标签: mongodb

这是我的收藏结构,我想过滤定义参考的所有结果:

{
    "_id" : "5xFusfnvRobfMhRKE",
    "book" : "Lorem",
    "publisher" : "Lorem",
    "author" : "Lorem",
    "edition" : [
        {
            "edition" : "Lorem",
            "year" : 2015,
            "section" : [
                {
                    "pageNumbers" : "12",
                    "reference" : "4NoHjACkjHJ8mavv9"
                }
            ]
        }
    ]
}

我的尝试是Collection.find({'edition.section.reference': '4NoHjACkjHJ8mavv9'}),但这不起作用。我希望这与上面的例子匹配。

2 个答案:

答案 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"
                            }
                    ]
            }
    ]
}