Mongodb查询列表几种常用方法

对于数组操作可以直接用"."来表示取第几个元素

Mongodb查询列表几种常用方法_第1张图片

查询 sub_tag 长度为 3 的数据

db.getCollection('test').find({$where: "(this.sub_tag.length == 3)"})

db.getCollection('test').find({"sub_tag": {$size: 3}})

 


Mongodb查询列表几种常用方法_第2张图片

查询tags的长度为5的数据

db.getCollection('test').find({"entities.tags": {$size: 5}})


db.getCollection('test').find({
    "entities.tags": {$size: 5},  # 查询tags的长度为5
    $and: [  # 满足数组中所有条件
        {'entities.tags.1': {$size: 3}},  # tags的第二个元素的长度为3
        {'entities.4.tags.0': {$size: 2}}  # entities的第四个元素中tags的第一个元素的长度为2
    ]
})

在第二个表达式中, 虽然$and 是必须全部满足的, 但是可以从不同的tags中找(数组中的条件必须全部满足)

更多$操作符介绍请点击: 官方文档  已总结过的

你可能感兴趣的:(Mongodb)