用户登录

使用 $in 还有 $nin 这两个操作符,可以查询出字段里面包含还有不包含指定的值的文档。先看一下我们的文档结构 .. 比如我想找出某一种类型的电影 .. 这个类型是在 genres 字段里面,它的值是一个数组 .. 因为一个电影可能同时属于多个类型 ..

再去组织一下查询 .. 使用集合的 find 方法 .. 设置一下查询的条件 .. 这里就是 genres .. 它的值是一个对象 .. 里面用一个 $in 这个操作符 .. 对应的值是一个数组 .. 这里添加一个 犯罪 ..

它的意思就是,找出类型里面包含犯罪的所有的文档 .. 再限制一下输出的字段 .. 用一个标题 .. 一个类型 .. 再去掉 _id 字段 ..

db.movies.find({ genres: { $in: ["犯罪"] }}, { title: 1, genres: 1, _id: 0})

执行一下 .. 现在返回的结果里面,这些文档的类型字段都会包含一个 犯罪 .. 再试一下 .. 我们可以再添加一个项目 .. 比如 剧情 ..

现在返回的结果就是包含 犯罪 或者 剧情 这两个值的文档 ..

db.movies.find({ genres: { $in: ["犯罪", "剧情"] }}, { title: 1, genres: 1, _id: 0})

再试一下 不包含 这个操作符 .. 把 in 换成 nin .. 也就是 not in 的意思 ..

db.movies.find({ genres: { $nin: ["犯罪", "剧情"] }}, { title: 1, genres: 1, _id: 0})

这回查询出来的文档里面它的类型不会是犯罪,也不会是 剧情 ..

查询操作符:包含与不包含 - $in 与 $nin《 MongoDB 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点