查找字段值与数组元素匹配的文档 - 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适合你的情况

Refer

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()