[英]Node.js Mongoose “object.newProperty” fails adding new property to object
我正在使用mongoose從Mongo獲取字段,並嘗試為返回的結果分配新的鍵。 但是,當我在分配新密鑰后登錄該對象時,該密鑰不在記錄的對象中。
奇怪的是,如果我登錄obj.newKey,它會按預期方式記錄下來,但是在記錄整個對象時似乎缺少該對象。
const express = require('express');
const router = express.Router({ mergeParams: true });
const V = require('../../../models/KB/V');
router.post('/fetch-v', async (req, res) => {
const { idSC, idDC, idP, from, to } = req.body.tp;
const nds = Math.ceil((to - from) / 86400000 + 1);
// All set. Now query database for visas:
let vs = await V.find({
idSC,
idDC,
idP
}).exec();
vs.map(v => {
v.nds >= nds ? (v.applicable = true) : (v.applicable = false);
console.log('v.applicable:', v.applicable); // Refer Log 1
});
console.log('vs:', vs); // Refer Log 2
return res.send({ success: true, vs });
});
日志1
v.applicable: true
v.applicable: false
日志2
{
"success": true,
"vs": [
{
"_id": "5d51acd41255b4499021bffa",
"idSC": "5d4e9273928a933e44ba8b56",
"idDC": "5d4e7318c8562b2bf6e4c33f",
"idP": "5d4e74742e0e3c2d2ab5428e",
"nds": 89,
"createdAt": "2019-08-12T18:15:48.329Z",
"updatedAt": "2019-08-12T18:15:48.329Z",
"__v": 0
},
{
"_id": "5d51acd41255b4499021bffb",
"idSC": "5d4e9273928a933e44ba8b56",
"idDC": "5d4e7318c8562b2bf6e4c33f",
"idP": "5d4e74742e0e3c2d2ab5428e",
"nds": 2,
"createdAt": "2019-08-12T18:15:48.329Z",
"updatedAt": "2019-08-12T18:15:48.329Z",
"__v": 0
}
]
}
await V.find({...})
返回mongoose.Document數組,所以如果你想要新的屬性添加到它的元素,你可以使用.lean()就可以了。
例:
let vs = await V.find({...}).lean();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.