0

NodeJS の nodeorm2 (sqlite) を使用して、このようないくつかのモデルを「作成」して、私の Web サイトのデータベースにサンプル データを入力します。

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 を取得するにはどうすればよいですか? 「検索」を使用して、新しく作成されたモデルの DB を検索できます。ただし、指定した順序でモデルが作成されるとは限りません。

php/mysql では、これを実現するために mysql_insert_id() を使用します。SQL で同等のものは last_insert_id() です。

編集: コールバック関数で、id にアクセスできます。

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

ただし、この ID は両方のコールバック関数で同じです。わかりません。異なる名前の属性を持つ別のコールバック関数を作成しても、id は同じです。

4

0 に答える 0