【发布时间】:2014-10-27 02:17:45
【问题描述】:
我的猫鼬收藏如下所示:
集合名称:测试
[
{
_id: xxx,
alerts: {
level1 : {
list: [ {'name': 'John'},{'name':'balm']
}
}
},
{
_id: yyy,
alerts: {
level1 : {
list: [ {'name': 'cindy'},{'name':'terry']
}
}
},
]
我正在编写一个函数,它将在列表的名称字段中查找所有“Johns”并将其替换为“Joan”。
到目前为止,我有以下脚本:
var mongoose = require('mongoose'),
,testModel = mongoose.model('test');
testModel.find(query, function(err,docs){
docs.forEach(function(doc){
if(doc.alerts.level1.list.length>0) {
var nameChagned = false;
doc.alerts.level1.list.forEach(function(obj){
if(obj.name === 'John') {
obj.name = 'Joan';
namechanged = true;
}
}
if(nameChanged) { doc.save();}
}
}
}
在脚本结束时,当我检查集合时,值没有更新。 有什么我可能在这里遗漏的线索吗?
谢谢,
【问题讨论】:
标签: mongoose