0
我有一个包含数据类同此集合:MongoDB的多维数据聚集/去重复
{
dimension1:a,
dimension2:b,
dimension3:c,
dimension4:d,
dimension5:e,
value: x
}
则存在a,b,c,d,e
可以具有的值的有限数。因此,可以看到两行具有相同的尺寸和不同的存储的值,这样的:
{ dimension1:1, dimension2:1, dimension3:1, dimension4:1, dimension5:1, value: 12 }
{ dimension1:1, dimension2:1, dimension3:1, dimension4:1, dimension5:1, value: 34 }
我想聚集具有匹配的尺寸的物体,并与一个对象与值的和替换它们。
我知道我可以用mapReduce做到这一点,但有没有办法做到这一点更简单/更快,甚至可以确保我的插入语句会添加到现有的值,如果有的话?
[编辑]
我也看到db.collection.group()似乎专门做这样的事情,但它不能处理我的数据
我已经知道合并mapReduce输出,但upsert对我来说是一个新的重大发现。非常感谢! – naugtur 2012-02-20 13:27:59
没问题,很高兴帮助! – Russell 2012-02-20 13:29:40
供将来参考:大集合上的upsert几乎和select + update一样慢 – naugtur 2012-11-05 13:27:56