【发布时间】:2020-08-13 12:26:34
【问题描述】:
我有一个像这样的数组:
const tags = ["a", "b", "c"];
我的收藏看起来像:
[{
_id: asdsadasd,
tagName: "a"
},
{
_id: qweqewqe,
tagName: "d"
}
]
我想过滤 tags 数组,使其不包含集合中的任何标签(tagName 字段)。
样本输出:
["b", "c"]
这是我尝试过的:
[
{
'$group': {
'_id': null,
'tags': {
'$push': '$tagName'
}
}
}, {
'$project': {
'filteredTags': {
'$filter': {
'input': tags,
'as': 'item',
'cond': {
'$not': {
'$in': [
'$$item', '$tags'
]
}
}
}
}
}
}
]
这工作正常,但我想知道是否有更有效的方法可以使用聚合管道或任何方式来做到这一点。
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework