如果我有这个架构...
person = {
name : String,
favoriteFoods : Array
}
... favoriteFoods
数组用字符串填充。如何使用 Mongoose 找到所有将“寿司”作为他们最喜欢的食物的人?
我希望得到类似的东西:
PersonModel.find({ favoriteFoods : { $contains : "sushi" }, function(...) {...});
(我知道mongodb中没有$contains
,只是解释一下我在知道解决方案之前期望找到的东西)
最佳答案
由于 favouriteFoods
是一个简单的字符串数组,您可以直接查询该字段:
PersonModel.find({ favouriteFoods: "sushi" }, ...); // favouriteFoods contains "sushi"
但我也建议在您的架构中明确显示字符串数组:
person = {
name : String,
favouriteFoods : [String]
}
相关文档可以在这里找到:https://docs.mongodb.com/manual/tutorial/query-arrays/
https://stackoverflow.com/questions/18148166/