小编典典

查找包含特定值的数组的文档

all

如果我有这个架构......

person = {
    name : String,
    favoriteFoods : Array
}

…其中favoriteFoods数组填充了字符串。我怎样才能找到所有使用猫鼬将“寿司”作为他们最喜欢的食物的人?

我希望有一些类似的东西:

PersonModel.find({ favoriteFoods : { $contains : "sushi" }, function(...) {...});

(我知道$contains在mongodb中没有,只是在知道解决方案之前解释我期望找到的东西)


阅读 102

收藏
2022-03-06

共1个答案

小编典典

作为favouriteFoods一个简单的字符串数组,您可以直接查询该字段:

PersonModel.find({ favouriteFoods: "sushi" }, ...); // favouriteFoods contains "sushi"

但我也建议在你的模式中明确地显示字符串数组:

person = {
    name : String,
    favouriteFoods : [String]
}

相关文档可以在这里找到: https ://docs.mongodb.com/manual/tutorial/query-
arrays/

2022-03-06