Mongodb查询多个参数

时间:2012-08-31 15:37:17

标签: node.js mongodb

我有这个收藏品

{
    "name" : "montalto",
    "users" : [
        {
            "username" : "ciccio",
            "email" : "aaaaaaaa",
            "password" : "aaaaaaaa",
            "money" : 0
        }
    ],
    "numers" : "8",
    "_id" : ObjectId("5040d3fded299bf03a000002")
}

如果我想搜索名称为 montalto 的集合以及名为 ciccio 的用户,我将使用以下查询:

db.coll.find({name:'montalto', users:{username:'ciccio'}}).count()

但它不起作用。哪里出错了?

2 个答案:

答案 0 :(得分:7)

您必须使用dot notation来匹配嵌入式数组对象的内部:

db.coll.find({name: 'montalto', 'users.username': 'ciccio'}).count()

答案 1 :(得分:5)

澄清集合是一组文档。所以你在这个问题上的术语略有不同。

要访问嵌入的文档或对象,只需使用点符号,就像在传统的javascript中一样。

db.coll.find({name: 'montalto', 'users.username': 'ciccio'})

您当然可以在结尾添加.count()