我有这个收藏

{
    "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()

但这是行不通的。我哪里出问题了?

最佳答案

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

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

09-12 00:06