我正在迭代计算浮点值数组的查询结果。现在从 C++ 我想将它添加到原始记录中,或者,如果已经存在,更新它。
从 Javascript 我做了类似的事情:
db.scraps.find({type: {$exists: 0}}).forEach(function (doc) {
var new_array = []
// fill the elements of new_array from doc fields
doc.new_field = new_array;
db.scraps.save(doc);
}
似乎除了使用update
. 如果为真,我认为我应该将查询中的对 (OID, new_array) 保存在一个数组中,然后对其进行迭代调用:conn.update("kb.scraps", QUERY("_id" << OID), BSON("new_field" << new_array))
谢谢你的帮助!