mongodb 查询数组内符合条件的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb 查询数组内符合条件的值相关的知识,希望对你有一定的参考价值。

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" ]
请问如何能查询出来? 感谢!

参考技术A "list":
["num":1, "name":"a",
"num":2, "name":"b",
"num":7, "name":"c",
"num":3, "name":"c",
"num":4, "name":"c" ]

这样就可以查询出来你要的结果追问

如果我list数组里面有1000条记录,但我只想要返回里面符合条件的几条记录,如果1000条都返回了就没有意义了。

追答

list这样写就可以查询出你要的几条数据,你那种写法怎么查都会出来

参考技术B 总感觉这结构不对啊,你是怎么insert这个数据的追问

list:[],然后push

追答



你这数据结构不对,他们都是list的值了,

追问

结构没有问题的,这个数组就是List,选加入一个空数组给List,然后再把这5个值push到list中

SQL里怎么按照一个条件来查询一个数组里所有符合这条件的数据?

参考技术A select * from 表名 where 字段 in(值1,值2,...)
不太清楚你题目意思,不知道是不是你要的。

以上是关于mongodb 查询数组内符合条件的值的主要内容,如果未能解决你的问题,请参考以下文章

SQL里怎么按照一个条件来查询一个数组里所有符合这条件的数据?

如何使用 mongoose 或 mongodb 查询更改架构内的方案数组内的值。?

仅当数组中的所有元素都符合 MongoDb 中的条件时才获取文档

mongodb怎么查询数组中的值

MongoDB 查询技巧(3) - 数组操作

MongoDB常用命令