检查Mongoose中数组中的所有值是否都是$



我有一个名为obj的MongoDB模式,看起来像这个

const objSchema = new mongoose.Schema({
values: {
type: [String],
required: true,
},
})

我有一个看起来像的MongoDB对象

{
id: 1,
values: "One", "Two", "Three"
}
{
id: 2,
values: "One", "Two", "Four"
}

我有一个数组,它包含以下值

const arr = ["One", "Three"]

如何在arr中找到所有包含all元素的MongoDB对象。因此,查询将返回id为1的对象,而不是id为2的对象。

我不确定如何使用$in查询来实现这一点,也不确定是否还有其他选项。

感谢

您可以简单地使用$all

db.collection.find({
"values": {
$all: [
"One",
"Three"
]
}
})

正在工作的Mongo游乐场

相关内容

最新更新