这是我的图式

var mongoose     = require('mongoose');
var Schema       = mongoose.Schema;

var messageSchema   = new Schema({
    status: {type: String, default: 'Pending'},
    latestUpdate: Date,
    createdAt: {type: Date, default: Date.now}
});

module.exports = mongoose.model('Requests', messageSchema);


这是我将属性打印到控制台的方法:

hosSchemaModel.find(function(err, hosSchema) {
        if (err) {
          console.log('inside error') // return res.send(err);
        } else {
          console.log(hosSchema)
        }

    });


在上面的代码中,console.log(hosSchema)打印以下内容:

The result of console.log()

当我尝试访问hosSchema.status时,undefined会打印到终端上。

原因解释为here (3rd point),但我似乎无法理解。

有人可以在这里指导我吗?如何访问状态等属性

最佳答案

hosSchema是一个数组,而不是一个对象。

如果要访问数组中第一个文档的状态,请使用以下命令:

hosSchema[0].status

关于node.js - 访问MongoDB属性无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45592315/

10-09 18:29