我有这个架构:
href
例如,一个项目可以是:
new mongoose.Schema({
providers : [{
provider: { type: String, required: true },
data : { type : String, unique: true }
}]
});
我想在Mongoose中搜索:provider ==“linkedin”和data =“abcd”。
你知道如何实现这个目标吗?
答案 0 :(得分:5)
使用$elemMatch
匹配相同元素中的多个字段:
Model.find({providers: {$elemMatch: {provider: 'linkedin', data: 'abcd'}}})
以下内容也可以使用,但更加脆弱,因为它需要元素的精确匹配,没有额外的字段,并且两个字段的顺序相同。
Model.find({providers: {provider: 'linkedin', data: 'abcd'}})