查找字段值与数组元素匹配的文档 - MongoDB 本机驱动程序
Find documents where field value matches an array element - MongoDB Native Driver
我想从一个文档 属性 具有数组元素值的集合中获取所有文档。
例如,我有一个集合,其中所有文档都有一个名为“.foreignKey”的 属性,我想找到所有文档,其中 .foreignKey 与名为“foreignKeys”的数组的元素之一相匹配。
我目前拥有的代码如下所示:
const foreignKeys = [0,10,100,500]
const result = await getAppDatabase().collection("Collection")).find({
foreignKey: foreignKeys
}).toArray()
结果必须包含 .foreignKey 为 0、10、100 或 500 的文档。
我提供的代码不起作用,而且我似乎无法找到解决问题的有效方法。非常感谢您的帮助。
您可以使用 $in
或 $or
建议$in
适合你的情况
When using $or with that are equality checks for the value of the same field, use the $in operator instead of the $or operator.
await getAppDatabase().collection("Collection")).find({
".foreignKey": { "$in": foreignKeys}}).toArray()
我想从一个文档 属性 具有数组元素值的集合中获取所有文档。
例如,我有一个集合,其中所有文档都有一个名为“.foreignKey”的 属性,我想找到所有文档,其中 .foreignKey 与名为“foreignKeys”的数组的元素之一相匹配。
我目前拥有的代码如下所示:
const foreignKeys = [0,10,100,500]
const result = await getAppDatabase().collection("Collection")).find({
foreignKey: foreignKeys
}).toArray()
结果必须包含 .foreignKey 为 0、10、100 或 500 的文档。
我提供的代码不起作用,而且我似乎无法找到解决问题的有效方法。非常感谢您的帮助。
您可以使用 $in
或 $or
建议$in
适合你的情况
When using $or with that are equality checks for the value of the same field, use the $in operator instead of the $or operator.
await getAppDatabase().collection("Collection")).find({
".foreignKey": { "$in": foreignKeys}}).toArray()