拥有每个文档的集合,例如
{ id: 1, user: { uid: 34, name: 'SDSDSD' } }
{ id: 2, user: { uid: 12, name: 'FHGJDF' } }
{ id: 3, user: { uid: 12, name: 'FHGJDF' } }
{ id: 4, user: { uid: 34, name: 'SDSDSD' } }
想要用这样的东西取代上面的
{ uid: 12, content: { id: [2, 3] } }
{ uid: 34, content: { id: [1, 4] } }
建议如何通过此方式。谢谢。
答案 0 :(得分:1)
使用Mongo Aggregation获得预期的输出
如果您使用mongoID'_id'进行分组,请使用
db.collection.aggregate({"$group":{"_id":"$user.uid","user_id":{"$push":"$_id"}}},
{$project:{"uid":"$_id","content":"$user_id","_id":0}})
如果您想使用自己的id
进行分组,请使用(您只需要在推送中指定密钥)
db.collection.aggregate({"$group":{"_id":"$user.uid","user_id":{"$push":"$id"}}},
{$project:{"uid":"$_id","content":"$user_id","_id":0}})
答案 1 :(得分:0)