0

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))

ご協力いただきありがとうございます!

4

0 に答える 0