例如,我有3份文件,
{"_id" : 1, "tags" : [1,2]}
和
{"_id" : 1, "tags" : [2,3]}
和
{"_id" : 1, "tags" : [1,2,3,4]}
我将它们插入mongodb之后,我希望结果是这样的
{"_id" : 1, "count" : [{tag:1, amount:2}, {tag:2, amount:3}, {tag:3, amount:2}, {tag:4, amount:1}]}
所以我可以轻松获得标签总金额。
只用一次upsert就可以做到这一点吗?
让我们再解释一下。这里_id是用户ID,标签是他使用的标签。我忽略了这里的内容,因此完整的文档应该像{"_id" : 1, "tags" :[1,2], "content": "some content"...}
。我想为每个用户显示类似tagcloud的内容,因此我需要知道用户使用的标签。我不想做Aggerate $ group或者像Find这样的其他东西,只想在插入时生成这些数据,所以查询会非常简单。想法是在插入时花费更多时间,但在视图上花费更少。
希望这会使问题更加明确。