gpt4 book ai didi

javascript - 动态添加的对象属性不可用

转载 作者:行者123 更新时间:2023-12-03 05:55:45 25 4
gpt4 key购买 nike

我有一个 Stock 对象数组,并尝试将 n 个 Report 对象附加到每个 Stock 对象:

router.get('/stocks', function (req, res, next) {
Stock.find({}, function (err, stocks) {
if (err) {
next(err)
return
}

async.map(stocks, function (stock, callback) {
Report.find({ 'isin': stock.isin }).sort('-created').limit(10).exec(function (err, reports) {
if (err) {
next(err)
return
}

stock.reports = reports
return callback(null, stock)
})
}, function (err, stocks) {
if (err) {
next(err)
return
}

res.json(stocks)
})
})
})

我得到的是股票对象列表,没有报告...我想要的是相同的股票,但设置了附加属性报告

最有趣的是,赋值 stock.reports = reports 之前和之后的 console.log(stock) 是相同的,但是 console.log(stock) 是相同的。 log(stock.reports) 提供实际的报表对象数组...

最佳答案

我在 this other Stackoverflow topic 中找到了解决方案。解决方案如下:

因为 mongoose 会忽略架构中不存在的字段...

因为报告对象不在我的库存模型中, Mongoose 忽略了它......解决方案是将其添加到 Mongoose :

const StockSchema = new mongoose.Schema({
...
reports: {
type: mongoose.Schema.Types.Mixed
},
...
})

关于javascript - 动态添加的对象属性不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39936679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com