g12*_*23k 1 database mongoose mongodb node.js
我有这个架构:
new mongoose.Schema({
providers : [{
provider: { type: String, required: true },
data : { type : String, unique: true }
}]
});
Run Code Online (Sandbox Code Playgroud)
例如,一个项目可以是:
providers: [{provider: "linkedin", data: "abcd"},
{provider: "twitter", data: "efgh"}]
Run Code Online (Sandbox Code Playgroud)
我想在Mongoose中搜索:provider =="linkedin"和data ="abcd".
你知道如何实现这个目标吗?
使用$elemMatch以匹配多个字段相同的元素:
Model.find({providers: {$elemMatch: {provider: 'linkedin', data: 'abcd'}}})
Run Code Online (Sandbox Code Playgroud)
以下也可以工作,但更脆弱,因为它需要元素的精确匹配,没有额外的字段和两个字段的顺序相同.
Model.find({providers: {provider: 'linkedin', data: 'abcd'}})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |