MongoDB 查找字段等于给定数组元素之一的所有文档



假设我们在 mongodb 集合中有三个文档,如下所示:

{ 书:"A" }, { 书:"B" }, { 书:"C" }

我想要一个查询,为所有文档提供其 book 字段值是给定数组的成员。例如,如果给定的数组是 ["a"、"c"、"d"],则查询必须返回第一个和第三个文档作为结果,因为 "a" 和 "c" 是数组的成员。

是否有一个查询可以一次完成所有操作,或者唯一的方法是遍历给定的数组并使用简单的查找查询?

请参阅$in运算符 https://docs.mongodb.com/manual/reference/operator/query/in/

在您的情况下

db.books.find( { book: { $in:["a", "c", "d"]} } )

是的,这可以通过使用 $in 运算符来实现。

在蒙戈壳中,这看起来像db.<collectionName>.find({ book: { $in: [ "a", "c", "d" ] }})

最新更新