【发布时间】:2023-03-06 05:24:01
【问题描述】:
我有一些看起来像这样的代码。从字面上看,只是表面上的变化 从我的实际代码中删除和删除:
Entry.find(conditions)
.select('ymd intentions outcomes goalCounts')
.lean()
.exec()
.then(function (entries) {
if (!entries.length) {
res.write(']')
res.end()
}
entries[entries.length-1].isLast = true
// more processing of entries etc
}, function (err) {
// do something with error
})
它通常可以工作,但我的生产服务器刚刚报告了一个错误:isLast=true 行失败
TypeError: Cannot set property 'isLast' of undefined
因为那里有一个检查来确保数组本身不为空,所以我知道传递给这个函数的是一个非空数组,它的最后一项本身是未定义的。 ymd 是必填字段,因此不应有任何结果为 {}。
这是在任何情况下的预期行为(与lean() 有关吗?)还是代表某种 mongo 错误?
【问题讨论】:
标签: arrays mongodb mongoose mongodb-query