Mongoose:在push方法之后保存嵌入式文档

时间:2013-09-26 18:57:10

标签: node.js mongodb save mongoose

我嘲笑了猫鼬的API文档,但我还没有找到解决问题的线索。 我想使用push函数为tab子项添加一个新子项。 孩子与父母的结构相同。

这与之无关:

function get_directory(id, cb) {
    // if argument id is omited, we return directly the mainDir

    model.findOne(...select the main object, function(mainDir) {
        recurse_in_the_main_object(mainDir, id)
        callback ( dir_founded )
    });
};

function add_directory(parentDir_id, specs, cb) {
    get_directory(parentDir_id, function(dir) {
        dir.push({..........});

        get_directory(function(mainDir) {
           mainDir.save();
        });
    });
});

但与之合作:

function get_directory(id, cb) {
    // if argument id is omited, we return directly the mainDir

    model.findOne(...select the main object, function(mainDir) {
        recurse_in_the_main_object(mainDir, id)
        callback ( dir_founded, mainDir)
    });
};

function add_directory(parentDir_id, specs, cb) {
    get_directory(parentDir_id, function(dir, mainDir) {
        dir.push({..........});              
        mainDir.save();
    });          
});

这可能是一个异步问题(新的目录很好但没有保存)但是即使使用cb或setTimeout,这仍然存在! 我只知道为什么ex1不起作用...对不起我的英语^^'

谢谢!!!

0 个答案:

没有答案