我有一个表格的文件集合:
{ name:String, groceries:{ apples:Number, cherries:Number, prunes:Number } }
现在,每个查询我都必须为“杂货”中的每个元素增加正值和/或负值。什么键或多少并不重要,我只是添加了一些示例。
我可以做一个:
var dataToBeIncremented = stuff;
var $inc = {};
for each( var index in dataToBeIncremented )
{
$inc[ "groceries." + index ] = dataToBeIncremented[ index ];
}
然后
db.update( { _id:targetID }, { $inc : query } )
但是,我可能有成千上万的杂货元素,并且发现在每次更新时执行此循环是丑陋且未优化的。
我想知道如何取消它或为什么它不能被优化。