Lou*_*ous 1 mongodb aggregation-framework
我需要检查其特定字段包含在数组中的所有文档。
例如我有数组
arr = ['a', 'b', 'a']
Run Code Online (Sandbox Code Playgroud)
我想匹配所有字段等于 的my_letter文档a or b。
我有文件:
[
{
_id: ObjectID(),
my_letter:'d'
},
{
_id: ObjectID(),
my_letter:'a'
},
{
_id: ObjectID(),
my_letter:'b'
}
]
Run Code Online (Sandbox Code Playgroud)
我希望聚合返回
[
{
_id: ObjectID(),
my_letter:'a'
},
{
_id: ObjectID(),
my_letter:'b'
}
]
Run Code Online (Sandbox Code Playgroud)
我在我的$match管道中尝试过这个
{
$match: {
_id: {
$elemMatch: {
$or: [
{ $eq: ["a"] },
{ $eq: ["b"] },
],
},
},
},
},
Run Code Online (Sandbox Code Playgroud)
当然是行不通的。您建议如何完成 $match 管道?
小智 6
db.collection.find({
my_letter: {
$in: [ "a", "b" ]
}
})
Run Code Online (Sandbox Code Playgroud)
db.collection.aggregate([
{
$match: {
my_letter: {
$in: [ "a", "b" ]
}
}
}
])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5440 次 |
| 最近记录: |