db.listdb内有如下内容:
{"list":
["num":1, "name":"a",
"num":2, "name":"b",
"num":7, "name":"c",
"num":3, "name":"c",
"num":4, "name":"c" ]}
如何能只选出list中num大于3的数组内容呢?
db.listdb.find({"list.num": {$gt:3}}); 会返回全部内容,我只想要如下的结果:
{"list":
[ "num":7, "name":"c",
"num":4, "name":"c" ]}
请问如何能查询出来? 感谢!
第1个回答 2015-02-04
{"list":
[{"num":1, "name":"a"},
{"num":2, "name":"b"},
{"num":7, "name":"c"},
{"num":3, "name":"c"},
{"num":4, "name":"c" }]}
这样就可以查询出来你要的结果追问
[{"num":1, "name":"a"},
{"num":2, "name":"b"},
{"num":7, "name":"c"},
{"num":3, "name":"c"},
{"num":4, "name":"c" }]}
这样就可以查询出来你要的结果追问
如果我list数组里面有1000条记录,但我只想要返回里面符合条件的几条记录,如果1000条都返回了就没有意义了。
追答list这样写就可以查询出你要的几条数据,你那种写法怎么查都会出来
本回答被网友采纳第2个回答 2015-02-03
总感觉这结构不对啊,你是怎么insert这个数据的追问
list:[],然后push
追答你这数据结构不对,他们都是list的值了,
结构没有问题的,这个数组就是List,选加入一个空数组给List,然后再把这5个值push到list中