数组查询
数组查询
MongoDB 中有子文档的概念,一个文档中能方便的嵌入子文档,这与关系性数据库有着明显的不同,在查询时,语法有一些注意点。
例子代码,假如我们的一个集合(tests)中存在标签键,有如下模式:
tags:[ObjectId]查询含有某个标签 ID 的文档
db.tests.find({tags: tagId});我现在有一组标签 tagIds,即是数组,需要查询含有该数组中任一元素的文档,此时需要用到 $in 操作符
db.tests.find({tags:{$in: tagIds}});如需唯一匹配该数组,与通常查询无异
db.tests.find({tags: tagIds});如不考虑顺序关系影响,即同时含有 tagIds 中的每个元素,用 $all
db.tests.find({tags:{$all: tagIds}});
?