这是我的模式
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var messageSchema = new Schema({
requestNumber: String,
requestedDateTime: String,
reasons: String,
state: String,
hospital: String,
phone: String,
status: {type: String, default: 'Pending'},
latestUpdate: Date,
createdAt: {type: Date, default: Date.now}
});
module.exports = mongoose.model('Requests', messageSchema);
下面,我将返回包含三个组件的集合
ipcMain.on('load-requests', function(event) {
hosSchemaModel.find(function(err, hosSchema) {
if (err) {
console.log('inside error') // return res.send(err);
} else {
event.sender.send('requests-results', hosSchema) // this line of code passes hosSchema to the client side
console.log(hosSchema[0].state) //prints the state attribute of the first component in the collection without any errors.
}
});
});
当我尝试在服务器中使用
console.log(hosSchema)
时,我将以下内容打印到终端上:并且我可以通过引用其索引
hosSchema[0].status
成功访问属性,例如集合中第一个组件的状态。在下面,我尝试将
hosSchema
打印到控制台(在前端)ipcRenderer.on('requests-results', (event, hosSchema) => {
console.log(hosSchema)
})
我得到的结果不同于他们在终端中看到的结果。下面是图片
并且
hosSchema[0].status
返回未定义。我的问题是:
1)为什么
hosSchema[0].status
在前端不起作用?2)在客户端访问属性的正确方法是什么?
最佳答案
您在前端要做的就是使用hosSchema[0]._doc.status
而不是hosSchema[0].status