Object中的数据在Javascript中返回未定义的值



我正在尝试用find()函数从mongoDB中获取数据,该函数应该以数组形式返回对象。但我无法在数组中获取我想要的数据,因为它返回undefined

这是对象数组:

[
{
_id: new ObjectId("635fa2d24f33bf4626211990"),
timestamp: '2022-10-30T08:41:06.826Z',
content: 'something here',
published: 'false'
}
]
let data = await submissionSchema.find({ published: "false" }).exec();

我已经将data定义为来自数据库的响应,它返回上面的Object Array。通过console.log(data[0]),它在没有[]括号的情况下显示一切正常。当我console.log(data[0].content)时,它返回undefined,但我认为控制台中有something here。有人知道线索吗?我们将不胜感激。

我终于弄清楚了问题的根源。我将在下面进行描述,以便任何可能有相同问题的人都能知道问题的来源。

submissionSchuema:

const mongoose = require('mongoose');
const reqString = {
type: String,
require: true
}
const submissionSchema = mongoose.Schema({
remark: reqString,
published: reqString
})
module.exports = mongoose.model('submission-records', submissionSchema)

这个问题是由于我没有将我希望获得的数据放入Schema中而发生的。因此,可以通过将您要查找的数据添加回模式来简单地修复该错误。

const submissionSchema = mongoose.Schema({
_id: reqString,
timestamp: reqString,
content: reqString,
remark: reqString,
published: reqString
})

最新更新