ノード/モンゴーにまだNooBがあり、これに固執しています。nodejs/Mongo - 複数が動作しないことを発見しました
私は2つのモンゴーコレクション、テナントと賃貸料を持っています。賃料集計にはスキーマにテナント_idがあります。次の機能は、すべてのアクティブなテナントを検索し、最新のレンタル文書の属性を引き出すものです。 関数の最初の部分は、テナントオブジェクトに結果を設定します。すべての作業良い。 2番目のテナントオブジェクトは、Rentクエリで使用する_idを引き出します。 (参加する)。 問題はforループが繰り返し処理して_idを正しく表示しているように見えますが、2番目の検索クエリはオブジェクト内の最後の文書のみを出力するようです。これは、事前に
おかげで起こっているなぜ私はただわからない
app.get('/chargerenttest/:date', (req,res) => {
//check date is valid
var rentChargeDate = new Date(req.params.date);
var tenant = "";
//for each active tenant
Tenant .find({
activeTenant : true
})
.then ((tenant) => {
if (!tenant) {
return res.status(404).send();
}
console.log("found tenents")
return tenant
})
.then ((tenant) => {
for (var i in tenant) {
console.log(i)
console.log(tenant[i]._id)
Rent
.find({
"paymentType" :"Rent",
"tenantID" : tenant[i]._id,
"activeEntry": true})
.limit(1)
.sort({datePaid: -1})
// sort in decending date (latested on top)
.then ((rent) => {
lastPayment = rent[0].datePaid;
lastAmountPaid = rent[0].amountPaid;
console.log("--------",i)
console.log("tenant",tenant[i]._id)
console.log("rentamount",tenant[i].rentAmount)
console.log("lastpayment", lastPayment)
});
}
})
})
こちらをご確認ください:https://github.com/Automattic/mongoose レコードを取得するソースコードは(の真ん中にあってもよいのホームページにありますページ) –