我正在使用MongoDB 3.0(直到明年我们才会升级。)我需要在集合中的多个字段中获取唯一值列表。这些字段大多数时间都具有相同的值。这可以在版本3.2中完成,如下所示:
db.mydata.aggregate([
{'$project': {'combined_users': ['$user1', '$user2']}},
{'$unwind': '$combined_users'},
{'$group': {_id: 1, {$addToSet: '$combined_users'}}}
问题出在版本3.0中,我们在combined_data中得到“不允许使用字段类型数组...”。
如何在Mongo 3.0中完成同样的事情?
答案 0 :(得分:1)
您需要使用$setUnion
运算符
db.mydata.aggregate([
{'$project': { 'combined_users': { "$setUnion": ['$user1', '$user2'] }}}
])