使用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和subModel之间的关系定义如下:
models.subModel.hasOne("parent", models.myModel, {
"reverse" : "child"
});
如何获取我创建的模型的ID,以便我还可以添加子模型? 我可以使用' find'在DB中搜索新创建的模型。但是,不能保证模型是按照我指定的顺序创建的。
在php / mysql中我会使用mysql_insert_id()来实现这一点。 SQL中的等价物是last_insert_id()。
编辑: 在回调函数中,我可以访问id。
function callback_function(err, item){
console.log(item.id);
}
但是,这两个回调函数的ID相同。我不明白。 即使我使用不同命名的属性创建单独的回调函数,id也是相同的。