sha*_*gan 0 mongodb nosql mongodb-query
[
{
"userid": "abcde",
"dates": {
"2-01-2015": {
"9-10": {
"ava": "yes",
"bookibg_id": "null"
},
"10-11": {
"ava": "yes",
"bookibg_id": "null"
}
},
"3-01-2015": {
"9-10": {
"ava": "no",
"bookibg_id": "null"
},
"10-11": {
"ava": "no",
"bookibg_id": "null"
}
}
}
},
{
"userid": "abcde",
"dates": {
"2-01-2015": {
"9-10": {
"ava": "yes",
"bookibg_id": "null"
},
"10-11": {
"ava": "no",
"bookibg_id": "null"
}
},
"3-01-2015": {
"9-10": {
"ava": "no",
"bookibg_id": "null"
},
"10-11": {
"ava": "no",
"bookibg_id": "null"
}
}
}
}
]
Run Code Online (Sandbox Code Playgroud)
我对nosql db和mongodb相对较新.它有点混淆如何查询这些.对于给定的db,我如何编写查询以生成结果:查询:列出用户ID,使得在"2-01-2015","ava"在"9-10"处为"是".Plzz也解释了结果.
你可以找到使用
db.coll.find({'dates.2-01-2015.9-10.ava': "yes"},{"userid":1,'_id':0})
Run Code Online (Sandbox Code Playgroud)
这里为'dates.2-01-2015.9-10.ava':'yes'用于查找ava的值为yes,类似于从JSON对象访问值,第二个参数用于仅从查询{"userid"获取userid ":1, '_ ID':0}
输出将是
{ "userid" : "abcde" }
{ "userid" : "abcde" }
Run Code Online (Sandbox Code Playgroud)
如果删除第二个参数,您将根据第二个参数获得结果中的整个文档,您可以过滤所需的字段
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |