2016-08-30 7 views
1

との関連エンティティを作成するには私は2つのモデルがあるだろう検索やウォーターラインORM

attributes: { 
    name: { 
     type: 'string', 
     required: true 
    }, 
    country: { 
     model: 'country' 
    } 
} 

を私は/見つける両方のオブジェクトを作成し、それらを関連付けるしたいです。これは私のコードです:

Country.findOrCreate({name: object.Country}).exec(function createFindCB(error, country){ 
      City.findOrCreate({name: object.City, country:country}).exec(function createFindCB(error, city){ 
      console.log(city); 
      console.log(country); 
      }); 
     }); 

しかし、それは動作していません。私はそれを同じ都市の&国と100回呼び出すと、その国のインスタンスは1つと、都市のインスタンスは1つしかDBに存在しないことが予想されます。私は国の1つのインスタンスを持っているが、100のインスタンスがあります。私は間違って何をしていますか?

+1

は' {::object.City、国国名}べきではないのですか? – MjZac

答えて

0

正しいコードは次のようになります。 `` {名前country.id:object.City、国}は `

Country.findOrCreate({name: object.Country}).exec(function createFindCB(error, country){ 
      City.findOrCreate({name: object.City, country:country.id}).exec(function createFindCB(error, city){ 
      console.log(city); 
      console.log(country); 
      }); 
     }); 
関連する問題