mongodb基础知识-内嵌数组总结
程序员文章站
2022-03-20 17:21:53
...
前面详细说明了数组的操作,总结起来差不多就两种情况,一个条件中不带$elemMatch,一种是条件中带$elemMatch。常用的查询应该是带$elemMatch,这样是要求数组中有元素满足所有条件。
1. 不带$elemMatch,结构大概是:
{字段: 值} {字段: {$gt: 值}} 对应基本数据类型的数组
{字段.字段: 值} {字段.字段: {$gt: 值}} 对应文档类型的数组
2. 带$elemMatch , 结构大概是:
{字段: {$elemMatch: 值} } {字段: {$elemMatch: {$gt: 值}} } 对应基本数据类型的数组
{字段: {$elemMatch : {字段: 值}}} {字段: {$elemMatch : {字段: {$gt: 值}}}} 对应文档类型的数组
3. 带$elemMatch 并且要有多个满足
// 这两种等价 db.users.find( {"$and" : [ { finished: { $elemMatch: { $lte: 70 } } }, { finished: { $elemMatch: { $gt: 14 } } } ]} ) db.users.find( {"finished" : { "$all": [ { $elemMatch: { $lte: 70 } } , { $elemMatch: { $gt: 14 } } ]} } ) // 这两种等价 db.users.find( {"$and" : [ { points: { $elemMatch: { points: { $lte: 70}, bonus: 20 } } }, { points: { $elemMatch: { points: { $gt: 80}, bonus: 8 } } } ]} ) db.users.find( { "points" : {"$all" : [ { $elemMatch: { points: { $lte: 70}, bonus: 20 } }, { $elemMatch: { points: { $gt: 80}, bonus: 8 } } ]}} )
上一篇: Java8新的时间处理包
下一篇: java泛型集合
推荐阅读
-
MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
-
mongodb 数据类型(null/字符串/数字/日期/内嵌文档/数组等)
-
JS基础语法---数组基础知识总结
-
MongoDB .Net Driver(C#驱动) - 内嵌数组/嵌入文档的操作(增加、删除、修改、查询(Linq 分页))
-
php基础知识总结(1)数组array,基础知识array_PHP教程
-
MongoDB对数组元素及内嵌文档进行增删改查操作
-
js常用数组操作方法简明总结_基础知识
-
PHP数组函数基础知识总结
-
php基础知识总结(1)数组array,基础知识array
-
js常用数组操作方法简明总结_基础知识