float 値の配列を計算するクエリ結果を繰り返し処理しています。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);
}
を使用する場合を除いて、これは C++ ドライバー (私はまだ 2.6 を実行しています) では実行できないようですupdate
。true の場合、クエリからのペア (OID、new_array) を配列に保存し、次の呼び出しを繰り返す必要があると思います。conn.update("kb.scraps", QUERY("_id" << OID), BSON("new_field" << new_array))
ご協力いただきありがとうございます!