2016-05-20 5 views
0

私は、非同期ループを使用して、指定した結果をループしています。そのとき、私は反復で仮想キー "名前"を取得できません。非同期ループと一緒に仮想を実装する方法

どのような解決策でも、私はこの問題に固執しています。

var result_subscriptions_of_user = _.where(data.subscription_details、{'user_id':subscription_detail.user_id});ここでsubscription_user_detailが来ていない {// //値

ユーザサブスクリプションの詳細を介して

//反復result_subscriptions_of_userに来ている

async.eachSeries(result_subscriptions_of_user、iteratee(subscription_user_detail、コールバック)機能私はここに

私のスキーマをやって何が間違って

番号、

CREATED_ON:{タイプ:日付、デフォルト:Date.now}、

CREATED_BY:OBJECT_ID、

するvar subscription_schema =新しいdb.schema({

subscription_idでありますprovisioned_on:日付、

expiry_date:日付、

ステータス:文字列、

}、 {toObject:{virtuals:true、getters:true}、toJSON:{virtuals:true、getters:true}});

、私の仮想関数は、結果のレコードがオブジェクトやJSONに変換されている場合、virtualsをがデフォルトで含まれていないこと

subscription_schema.virtual('actual_expiry_date').get(function() 
{ 
    var moment   = require('moment-timezone'); 
    var date   = moment(this.expiry_date).format('DD-MM-YYYY'); 
    return date; 
}) 

答えて

0

注意です。仮想を渡す:toObject()またはtoJSON()のいずれかにtrueを返して返す。あなたはこのdocument

+0

私はそれをやったが、私が使用して
するvar result_subscriptions_of_user \t = _.where(data.subscription_details、{:subscription_detail.user_id 'のuser_id'}していたが、この

userSchema.set('toObject', { virtuals: true }) 

チェックのようなuserSchemaを設定する必要があります); //値は、ユーザのサブスクリプション \t \t \t \t \t \t非同期を通じてここ \t \t \t \t \t \t //反復coomingされています。eachSeries(result_subscriptions_of_user、iteratee(subscription_user_detail、コールバックを)機能 \t \t \t \t \t \t {//しかし、ここであなたは、これが私のスキーマ –

+0

をやっている間違っcommingwhatされていません。番号、 CREATED_ON \t \t \t \t \t \t \t:スキーマ({ は\t \tをsubscription_id {タイプ:日付、デフォルト:Date.now}、 CREATED_BY \t \t \t \t \t \t \t:OBJECT_ID、 provisioned_on \t \t \t \t \t \t:日、 EXPIRY_DATE \t \t \t \t \t \t:日、 状態\t \t \t \t \t \t \t \t:文字列、 }、{toObject:{バーチャル:true、getters:true}、toJSON:{バーチャル:true、getters:true}}); – KibGzr

+0

定義する場所subscription_user_detail値iが –

関連する問題