Как обновить поле массива в переполнении стека

Я перебираю результаты запроса, вычисляя массив значений с плавающей запятой. Теперь из 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, Если это правда, я думаю, что я должен сохранить в массиве пару (OID, new_array) из моего запроса, а затем итерировать по нему, вызывая: conn.update("kb.scraps", QUERY("_id" << OID), BSON("new_field" << new_array))

Спасибо за вашу помощь!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]