我在查询计算浮点值数组的查询结果上进行迭代。现在从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
之外,似乎无法使用C ++驱动程序(我仍在运行2.6)。如果为true,我认为我应该从数组中保存一对(OID,new_array),然后在其上进行迭代调用:conn.update("kb.scraps", QUERY("_id" << OID), BSON("new_field" << new_array))
感谢您的帮助!