0

使用 NodeJS 中的 nodeorm2 (sqlite),我“创建”了几个这样的模型,用示例数据填充我网站的数据库:

req.models.myModel.create({
    'title' : 'Model title here',
    'content' : 'content here',
    'username' : 'username here'
}, callback_function);

req.models.myModel.create({
    'title' : 'Model 2 title here',
    'content' : 'content 2 here',
    'username' : 'other username'
}, callback_function);

这些操作是异步的。当他们完成后,我还想为我刚刚“创建”的模型添加子模型。

myModel 和 subModels 之间的关系定义如下:

models.subModel.hasOne("parent", models.myModel, {
    "reverse" : "child"
});

如何获取我创建的模型的 ID,以便我还可以添加子模型?我可以使用“查找”在数据库中搜索新创建的模型。但是,不能保证模型是按照我指定的顺序创建的。

在 php/mysql 中,我会使用 mysql_insert_id() 来实现这一点。SQL 中的等价物是 last_insert_id()。

编辑:在回调函数中,我可以访问 id。

function callback_function(err, item){
    console.log(item.id);
}

但是,这两个回调函数的 ID 相同。我不明白。即使我创建具有不同命名属性的单独回调函数,id 也是相同的。

4

0 回答 0