我有这个系列
{
"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)
但它不起作用.哪里出错了?
您必须使用点表示法来匹配嵌入的数组对象内部:
db.coll.find({name: 'montalto', 'users.username': 'ciccio'}).count()
Run Code Online (Sandbox Code Playgroud)
澄清集合是一组文档.所以你在这个问题上的术语略有偏差.
要访问嵌入的文档或对象,只需使用点符号,就像在传统的javascript中一样.
db.coll.find({name: 'montalto', 'users.username': 'ciccio'})
Run Code Online (Sandbox Code Playgroud)
你当然可以.count()在最后添加.
| 归档时间: |
|
| 查看次数: |
8058 次 |
| 最近记录: |