查询 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 的所有文档。
场景:我在 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 的所有文档。