内部IはStorage
と呼ばれる他のdocument
を基準ObjectId
の配列として定義document
Users
storage
との特性を有します。私は特定のユーザーを取得しようとしているし、配列内のストレージ情報を返します。マングースfindOneループ
これは私のコードです:
module.exports.storageDetail = function(req, res) {
User.findOne({'userId': req.user.userId}, 'storages').then(function(data){
var storageArray = [];
data.storages.forEach(function(record){
Storage.findOne({_id: record}, function(err, storage){
storageArray.push(storage);
});
});
return Promise.all(storageArray);
}).then(function(storageList){
res.render('storage_template', {
storage: storageList
});
console.log(storageList);
});
}
しかし、実行後、storageList
は空の配列です。
私はnode.jsの初心者です。詳細を提供する必要があるかどうか教えてください。
:
はあなたのような
storages
を申請
ref
を追加しましたあなたのUser
モデルで最初に確認してください。この.populate()
を使用するため、この1を試すことができます!最初のものをES5でどのように使うことができますか教えてください。 – Valip
@Valip太い矢印の構文を通常の関数に置き換えました。ここでの主なポイントはPromiseを得るための '.exec()'です。 –