[{
"_id" : ObjectId("55f181e43fdda0be857daaf4"),
"form_info" : [
{
"val" : "王思聪",
"id" : "1"
},
{
"val" : "13800138000",
"id" : "2"
}
],
"tags" : [],
"__v" : 0
},
{
"_id" : ObjectId("55f181e43fdda0f48578acf4"),
"form_info" : [
{
"val" : "李丽珍",
"id" : "1"
},
{
"val" : "13934438010",
"id" : "2"
}
],
"tags" : [],
"__v" : 0
}]
如果我想筛选form_info
数组内符合 成员对象内id
为1,val
为王思聪
且id
为2,val
为13800138000
的记录。
即结果是:
[{
"_id" : ObjectId("55f181e43fdda0be857daaf4"),
"form_info" : [
{
"val" : "王思聪",
"id" : "1"
},
{
"val" : "13800138000",
"id" : "2"
}
],
"tags" : [],
"__v" : 0
}]
该怎么写好? 谢谢大大们
能看一下你的这个记录在数据库中怎么存储的吗?是这样:
还是数组里面的每个子文档都是一个独立的记录?真要是按你上边展示的这样,那你直接查_id不就取出唯一的记录了。如果按我的理解,那执行这个查询:
就好了
正在学习mongodb,尝试回答下sf上的一些问题。
这个是mongodb内嵌数组的查询,在已知索引的情况下可以使用数字索引查询。
使用数组索引匹配内嵌文档的字段
因此查询可以这样写: