bip*_*kle 3 arrays mongoose mongodb node.js
我有以下猫鼬模式:
var UserSchema = new Schema({
name: String,
age: Number,
...
tags: [{
text: String,
...
}]
});
Run Code Online (Sandbox Code Playgroud)
和以下数组:
var tagTexts = ['tall', 'small', 'green', 'blue'];
Run Code Online (Sandbox Code Playgroud)
我想检索所有包含至少一个带有tagTexts中的text属性的标签的用户文档。
例如,如果我有以下用户和tagTexts数组
[{
name: 'Bob',
age: 17,
...
tags: [{
text: 'small',
...
}]
}, {
name: 'Bill',
age: 29,
...
tags: [{
text: 'dandelion',
...
}, {
text: 'oak',
...
}]
}]
var tagTexts = ['tall', 'small', 'green', 'blue'];
Run Code Online (Sandbox Code Playgroud)
这样鲍勃就会被找回,但比尔不会。
您可以使用$in匹配值数组,并使用点表示法text将tags数组的每个元素内的字段作为目标。任何匹配项都会导致文档包含在结果中。
var tagTexts = ['tall', 'small', 'green', 'blue'];
User.find({'tags.text': {$in: tagTexts}}, function(err, users) {...});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4999 次 |
| 最近记录: |