2017-03-22 13 views
3

に異なる動作を救うここで私は私がすなわち課金、current_referral_programと紹介して先に行くためだけに3つのフィールドを選択していたにfuncitonを持って、私ははマングースは、選択移入およびMacとWindows

static populateReferralLinks(){ 
    return Promise.coroutine(function*(){ 
     let companies = yield Company.find({},'billing referral current_referral_program') 
             .populate('billing.user','emails name'); 

     for(let i = 0 ; i < length ; i++){ 
     companies[i].referral.is_created = true; 
     companies[i].referral.referral_email = companies[i].billing.user.emails[0].email; 
     companies[i] = yield companies[i].save(); 
     } 
     return companies; 
    }).apply(this) 
     .catch((err) => { 
      throw err; 
     }); 
} 

やったことです。 billing.userに格納されている参照を使用してユーザーを設定します。 今すぐこの関数を呼び出したときに、

企業[i] .save();

次のコマンドを

Mongoose: companies.update(
{ _id: ObjectId("58d12e1a588a96311075c45c") }, 
{ '$set': 
    { billing: 
     { configured: false, 
     user: ObjectId("58d12e16588a96311075c45a") }, 
    referral: 
    { is_created: true, 
     referral_email: '[email protected]', 
    }, 
    updatedAt: new Date("Wed, 22 Mar 2017 12:02:55 GMT") 
    } 
} 
) 

ウィンドウで、端末に示す。しかしMacのターミナルで、それは、このコマンド

Mongoose: companies.update({ _id: ObjectId("58d12e1a588a96311075c45c") }) { '$set': { billing: { configured: false, user: ObjectId("58d12e16588a96311075c45a") }, current_limit: {}, current_usage: {},referral: { is_created: true, referral_email: '[email protected]'}}, '$unset': { updatedAt: 1 } } 

は今、私はcurrent_limitcurrent_usageを言及していない示していますを空にします。 Windowsではうまく実行されますが、Macでは設定していますcurrent_limitcurrent_usageは空ですので、Macでは空のオブジェクトでドキュメントを更新しますが、ウィンドウでは更新しません。

両方のOSで同じように動作するはずですが、そうではありません。

答えて

3

どうやらこの問題はマングース4.5.8にあったし、最新バージョンの4.9.1すなわち Check it here

で解決されます
関連する問題