Node.js $addToSet聚合和多个数组
我有这个收藏:Node.js $addToSet聚合和多个数组,node.js,mongodb,Node.js,Mongodb,我有这个收藏: [ { _id: ObjectId('myId1'), probes: ['id_probe_1', 'id_probe_2'] }, { _id: ObjectId('myId2'), probes: ['id_probe_1', 'id_probe_3'] } ] 我想得到这样一个数组: ['id_probe_1', 'id_probe_2', 'id_probe_3'] 所以
[
{
_id: ObjectId('myId1'),
probes: ['id_probe_1', 'id_probe_2']
},
{
_id: ObjectId('myId2'),
probes: ['id_probe_1', 'id_probe_3']
}
]
我想得到这样一个数组:
['id_probe_1', 'id_probe_2', 'id_probe_3']
所以我尝试了这个请求(来自nodeJS驱动程序):
这不起作用,请告诉我以下错误:
无效的运算符“$each”
从中,他们提到它将作为单个元素附加整个数组
如果表达式的值是数组,$addToSet将整个数组作为单个元素追加
但是他们没有说如何拥有一个独特的数组。所以我使用$each运算符表示(我真的不知道有什么区别…)
有没有办法让这一切顺利进行
谢谢 在
$group
{$unwind:"$probes"},
然后删除
$each
为什么不尝试不同的操作?在mongo shell中,db.col.distinct('probs')代码>您可以在nodejs mongo驱动程序中尝试独特的功能。谢谢!我没看到,谢谢!它也能工作,但我还需要在上面做一些调整:)
{$unwind:"$probes"},