私は2つのモデルを持っていて、どちらもユーザを持っています。それらを呼ぶことにしましょう:findOneのループバックインターセプタ
Users_A Users_B
私はUsers_Aでユーザーを見つける必要があるが、それはUsers_Aに存在しない場合、私はUsers_Bで検索する必要があります。ユーザーはその後、私はUsers_A.findOneを呼び出すときにそれを返すようにしたいUser_Bへ上に存在する場合
()
はこれを行う方法はありますか?
私は2つのモデルを持っていて、どちらもユーザを持っています。それらを呼ぶことにしましょう:findOneのループバックインターセプタ
Users_A Users_B
私はUsers_Aでユーザーを見つける必要があるが、それはUsers_Aに存在しない場合、私はUsers_Bで検索する必要があります。ユーザーはその後、私はUsers_A.findOneを呼び出すときにそれを返すようにしたいUser_Bへ上に存在する場合
()
はこれを行う方法はありますか?
このタスクを達成するためにリモートメソッドを作成し、非同期ウォーターフォールメソッドを定義して、いくつかのモデルを通してコードを実行することができます。リモートメソッドの実行中 :例えば
async.waterfall([
function(callback){
//find results on USERS_A
},
function(data,callback){
//find results on USERS_B
}],
function(err){
if(err) console.log(err);
//return final result from either USERS_A or USERS_B
}
);
は、この方法が便利願っています。
歓声。
私はこの方法でそれを解決:私のために働いた
Users_A.afterRemote('findOne' function(ctx, instance, next) {
if (ctx.result) {
return next();
} else {
Users_A.app.models.Users_B.findOne(ctx.req.query.filter,
(error, data) => {
if (data) {
//some logic here
return next();
} else {
//instance the error
return next(error);
}
}
}
}
こと、それは
は、あなたの答えのためにあなたにChamalありがとう役立ちます願っています。それがうまくいくかどうかはわかりませんが、解決した答えを投稿しました。 – ngonzalezparra