我正在使用mongodb,使用java, 我有以下文档结构:
{
_id : ...
total_items : 34
avarage_cost : 54
}
现在我有一个成本项目,我想更新我的收藏,以便总数将增加1,平均成本将是正确的, 最好的方法是什么?
我想过做这样的事情:
int cost = ... ;
BasicDBObject updatequery = new BasicDBObject();
updatequery.put("$inc", BasicDBObjectBuilder.start().add("total_items ", 1).get());
updatequery.put("$function", "function(){this.avarage_cost = ((this.total_items-1)*this.avarage_cost + "+cost+"/) / this.total_items;}");
这是一个好的/可行的解决方案吗? 最好的方法是什么?