Mongoose:如何从对象数组中查找多个字段
Posted
技术标签:
【中文标题】Mongoose:如何从对象数组中查找多个字段【英文标题】:Mongoose: How to find by multiple fields from an array of objects 【发布时间】:2015-12-21 10:09:09 【问题描述】:假设我有一个看起来像这样的模型:
name: String, category: String
我得到了一个包含如下对象的数组:
var array = [
name: "a", category: "A"
, name: "b, category: "A"
, name: "b", category: "B"
]
现在我想查找与数组中的值对匹配的所有对象。如果它只是一个字符串数组,代码将类似于Model.find( name: $in: array )
,但我需要类似
Model.find( name,category: $in: array )
这可能吗?
【问题讨论】:
【参考方案1】:您可以在 $or
查询中直接使用该数组来查找与这些对中的任何一个匹配的文档:
var array = [
name: "a", category: "A"
, name: "b", category: "A"
, name: "b", category: "B"
];
Model.find($or: array, function(err, docs) ... );
【讨论】:
或使用猫鼬的.or
helper - Model.find().or(array)
我怎么没想到呢?非常感谢!以上是关于Mongoose:如何从对象数组中查找多个字段的主要内容,如果未能解决你的问题,请参考以下文章