使用 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 也是相同的。