2017-10-14 6 views
0

んTypeORM存在しない場合は作成し、これを回避するために、いくつかのfunctionnalityが含まれていますようTypeORMのアップサート -

let contraption = await thingRepository.findOne({ name : "Contraption"}); 

if(!contraption) // Create if not exist 
{ 
    let newThing = new Thing(); 
    newThing.name = "Contraption" 
    await thingRepository.save(newThing); 
    contraption = newThing; 
} 

何か:Repository<T>.save()、ドキュメントが言うそのうち:

let contraption = await thingRepository.upsert({name : "Contraption"}); 

答えて

0

は、そのための方法はすでにあります。

データベース内のすべてのエンティティを保存します。エンティティが に存在しない場合、データベースは挿入し、それ以外の場合は更新します。

ただし、idフィールドまたは一意のフィールドセットを指定しないと、saveメソッドは既存のデータベースオブジェクトを参照していることを認識できません。だから、typeORMでupserting

は次のとおりです。

let contraption = await thingRepository.save({id: 1, name : "New Contraption Name !"}); 
関連する問題