Mongodb查询多个参数

gag*_*ina 3 mongodb node.js

我有这个系列

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

如果我想搜索与名称集合蒙塔尔托和用户名为ciccio我使用下面的查询:

db.coll.find({name:'montalto', users:{username:'ciccio'}}).count()
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*yHK 7

您必须使用点表示法来匹配嵌入的数组对象内部:

db.coll.find({name: 'montalto', 'users.username': 'ciccio'}).count()
Run Code Online (Sandbox Code Playgroud)


Ran*_*unt 5

澄清集合是一组文档.所以你在这个问题上的术语略有偏差.

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

db.coll.find({name: 'montalto', 'users.username': 'ciccio'})
Run Code Online (Sandbox Code Playgroud)

你当然可以.count()在最后添加.