2016-07-28 7 views
1

た後、私は私のバックエンドとしてのMongoDBを使用していますは私のループバックアプリケーションで更新attrubutesを保存する無限ループ

は私がA、Bのように2つのコレクションを持って検討してください。彼らの関係はA hasOne Bです。だから、モデルAの私のaftersaveフックで私は

if(isNewInstance) { 
    // When creating A i have to compute data 
    // and create a document in B and have to update the _id of B to A  
    // For Updating i am calling:  
    ctx.instances.updateAttributes();// this will once again call this 
    //after save hook and with isNewInstance == false, 
    // so it will go in else condition also. 
} else { 
    // When Updating A i have to compute data and create a document in B 
    // and have to update the _id of B to A 
} 

**Summary**を実装している:私はインスタンスを編集するときのように、それは呼んではなく、必要があることを制限することができますどのように、二回ためupdateAttributesのトリガされたAの新しいインスタンスを作成するときupdateAttributesを呼び出しています。アイデアを教えてください。ありがとうございます。

+0

'after save 'フック中に' A'と 'B'で何をしますか? – Overdrivr

+0

@Overdrivrありがとうございました。afterSave of AではJSONを計算してBで文書を作成しています(_id)。私は_idをAのキーに更新します。 – Subburaj

+0

基本的に、 'B'のインスタンスを作成し、' A'の現在のインスタンスにリンクします。これは正しいです ? – Overdrivr

答えて

0
if(isNewInstance) { 
    if(ctx.instance.needToUpdate){ 
    process.nextTick(() => { 
     ctx.instance.updateAttributes(); 
    }); 
} 
} else { 

} 
+0

インスタンスAの更新時にこれがトリガーになりますか? – Subburaj

+0

@Subburajはい、一回 –

関連する問題