[英]Update subarray of strings
我正在嘗試更新文檔子陣列中的項目。 子陣列的類型是字符串數組:
Dictionary.findOne({ name: req.query.name }, function(err1, data){
if(err1){
logger.error(err1);
res.send({ err: 'Db error' });
} else {
var index = data.values.indexOf(req.query.value);
if(index == -1)
res.send({ err: 'Value not found' });
else {
data.values[index] = req.query.newValue;
data.save(function(err2){
if(err2){
logger.error(err);
res.send({ err: 'Db error' });
} else
res.send({ data: data, info: 'Dictionary updated successfully' });
});
}
}
});
返回的data
已正確更新,但記錄未在數據庫中更新。 請幫助
您需要在保存之前標記更改
data.markModified 'values'
data.save (...)
http://mongoosejs.com/docs/api.html#types_embedded_EmbeddedDocument-markModified
從mongodb shell你可以寫
db.test.update({values:"English"},{$set:{'values.1':"updated value"}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.