查询 MongoDB 中的数组字段以包含至少一个数组元素

Querying array field in MongoDB to contain at least one element of an array

场景:我在 MongoDB 中有一个文档集合,其中有一个名为“arrayField”的字段,其中包含一个数字数组。我有一个数字数组 [1, 2, 3],我想查询此集合以 return 数组字段内容包含 至少一个 的所有文档[1, 2, 3] 的(不一定是全部)元素。 因此,例如,如果其中一个文档在 arrayField 中有 [1, 6, 7],它将被 returned.

如何正确制定 .find() 的搜索选项以执行此类查询?我尝试了 {'arrayField': { $in: [1, 2, 3]} },但只有 returns 文档,其中 arrayField 只有一个元素——只有 [1] 或 [2] 或 [3]。

我认为以下查询会对您有所帮助

db.collection.find({
  "arrayField": {
    "$in": [1, 2, 3]
  }
})

这将 return 您文档中 arrayField 字段的值中包含 1、2 或 3 的所有文档。