【发布时间】:2018-03-10 14:35:49
【问题描述】:
我正在创建一个post 文档,然后将其保存。保存后,我想获取已保存帖子的ID。然后我想将此 ID 插入到 "user"document 中的 array "posts" 中。
但是,问题是在保存帖子并获取回调"savedPost" 后,我无法将其 ID 推送到 "user" 文档中的 "posts" 数组中。它返回了"Cannot read property 'push' of undefined"。
查看MongoDB时,可以看到"post"确实保存到了数据库中,所以问题似乎出在回调之后。我尝试在线搜索,但没有一个答案对我有帮助。
这里是代码。
NodeJS/猫鼬:
post.save(function(err, savedPost){
if(err){
console.log(err);
} else {
//problem seems to start here
var postId = {id: 'savedPost._id'};
user.post.push(postId);
user.save();
}
});
用户架构
var UserSchema = new mongoose.Schema({
posts: [
{id: String}
],
});
【问题讨论】:
-
你不应该使用
update() -
@HassanImam 这似乎有点令人困惑。你能告诉我怎么做吗?
-
您的意思是
user.posts而不是user.post?注意末尾的s -
标记关闭,因为打字错误
-
感谢您的指出。没注意到错别字。对此感到抱歉。