如何使用基于查询的mongoose从mongodb中查找文档,然后向其中插入一些数据并保存回去?

时间:2015-12-19 17:12:24

标签: mongodb mongoose

我有我的模型

var Model = {"name":String,"email":String,"notes":[{"time":Date,"title":String,"description":String}]

我想根据电子邮件找到文档,然后在数组中添加注释。然后保存回来。 我试过的是,

var updatedNote = {};     
Model.findOne({'email':'test@test.com'},function(err, note){
    for(var property in note._doc){
        if(note._doc.hasOwnProperty(property)){
            updatedNote[property] = note._doc[property];
        };
    }
    updatedNote.notes.push(newNote);
    note._doc = updatedNote;
    note.save(function(err){
        if(err){
            console.log(error);
        }
        else {
            res.redirect('/notes');
        }
    })
});

但它正在抛出错误,因为"对象没有保存方法"。我不想使用findByIdAndUpdate(),因为我要承担在mongo上生成id的责任。

1 个答案:

答案 0 :(得分:1)

我不明白大部分代码在做什么。如果我想在文档中添加注释(我假设在其他地方定义了newNote),我只是这样做:

{{1}}