у меня есть один массив, как показано ниже, и будем называть его как sobjКак обновить существующий массив объектов JSON с помощью nodejs
{
'name':abc,
'data':[
[
{'val':23}
{'time':23}
],
[
{'val':32}
{'time':32}
]
]
}
Чтобы обновить этот массив с помощью метода findAndModify я использую ниже код.
for (var i=0; i<(sobj.length-1); i++) { //in this example, sobj.length is 2
updateStr += '\"data.'+parseInt(i)+'\":'{val:sobj[i].val,time:sobj[i].time}+',';
}
updateStr += '\"data.'+parseInt(i)+'\":'+type:sobj[i].type,val:sobj[i].val,time:sobj[i].time};
И я пытаюсь обновить базу данных, используя приведенный ниже код.
collection.findAndModify({'name':'abc'},[['_id',-1]],{$push:{updateStr}},{new:true,upsert:false},function(err,result){
if (err) reject(err);
else
resolve(result);
});
Хотя updateStr, как показано ниже, не обновляет базу данных при использовании вышеуказанного кода. Можете ли вы сообщить мне правильный способ его обработки.
"data.0":[object Object],"data:1":[object Object],"data.2":[object Object]
Прошу прощения, пусть sobj будет чем-то вроде {data: [{val: 23, time: 20}, {val: 32, time: 22}]}, который содержит два объекта JSON в массиве. Предположим, что у меня есть другой объект JSON с именами и полями данных. Значение поля данных представляет собой массив массивов, таких как данные: [[{a: b}], [{e: f}], [{h: g}]] Теперь я хочу обновить поле данных, извлекая каждый объект JSON из sobj и хранить его в отдельных вспомогательных массивах, например, например: [[{val: 23, time: 23}, {val: 34, time: 34}], [{val: 45, time: 45} {вал: 67, время: 67}], [{вал: 55, время: 55} {вал: 44, время: 44}]. –