[英]updating a document in mongoose
因此,我有一个集合和该集合的模型,我们称其为Post。 如您在代码中所见,我想创建一种排序机制。
var assignOrder = function(callback){
var donePosts = 0;
Post.find().sort({publishDate: 1}).exec(function(err, posts){
for(var i = 0; i < posts.length; i++){
var post = posts[i];
var previousPost = posts[i-1] || {};
var nextPost = posts[i+1] || {};
post.previousPost = previousPost.slug;
post.nextPost = nextPost.slug;
post.update(function(err, post, affected){
if(++donePosts === posts.length){
callback();
}
});
}
});
};
我不明白为什么帖子没有在数据库中更新。
我收到错误消息:错误:[MongoError:不允许对_id进行Mod],但是我没有在任何地方设置新的_id。
谢谢
使用save
而不是update
将更改提交到模型实例。
var assignOrder = function(callback){
var donePosts = 0;
Post.find().sort({publishDate: 1}).exec(function(err, posts){
for(var i = 0; i < posts.length; i++){
var post = posts[i];
var previousPost = posts[i-1] || {};
var nextPost = posts[i+1] || {};
post.previousPost = previousPost.slug;
post.nextPost = nextPost.slug;
// Call save here, not update.
post.save(function(err, post, affected){
if(++donePosts === posts.length){
callback();
}
});
}
});
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.