我正在將檔案保存到 mongodb 集合中,并在成功后回傳檔案。
IE:
ProductHistory.findOneAndUpdate(
{productId: product._id},
$push: {'history': historyData },
{upsert: true, new: true})
.exec((err, success) => {
if (err){
console.log('Error: ', err)
}
console.log('success is: ', success)
}
結果是成功保存的條目和控制臺記錄的物件,如下所示:
{
_id: 616eb07b1e7edf6e9b035707,
history: [
{
_id: 61b7cdb160854a0564c15f25,
value: 114.5,
},
//...repeated objects x times
]
}
問題是我想訪問歷史記錄,所以我可以對其執行forEach,但我無法選擇它。
如果我這樣做
console.log('success is:' , success.history),它會回傳未定義。
同樣,如果我這樣做success.history.map()。我也嘗試過破壞正在使用:
const {history} = success
由于某種原因,我似乎無法抓住那個陣列!請問有什么想法嗎?
謝謝
uj5u.com熱心網友回復:
如果不查看您的 Mongoose 架構,我不能肯定地說。但是,您很可能沒有將history陣列型別添加到架構中。
解決方案
- 將此陣列添加到您的架構(首選方法)。
- 您應該能夠通過訪問
success._doc物件來繞過架構。不建議這樣做,僅應在開發期間用于測驗和其他用途。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/505121.html
標籤:javascript 节点.js 猫鼬
上一篇:如何在for回圈中對數字求和?
