Mongodb 无法访问Mongoose文档中的某些属性

Mongodb 无法访问Mongoose文档中的某些属性,mongodb,mongoose,Mongodb,Mongoose,我正在使用Mongoose对数据库进行查询,以检索集合中的所有文档。当前集合中只有一个文档。它返回文档并看起来很好,但我无法访问某些属性 代码段: User.find() .then((response)=>{ console.log(response); console.log(); console.log(response[0]._id); console.log(response[0].name);

我正在使用Mongoose对数据库进行查询,以检索集合中的所有文档。当前集合中只有一个文档。它返回文档并看起来很好,但我无法访问某些属性

代码段:

User.find()
    .then((response)=>{
        console.log(response);
        console.log();
        console.log(response[0]._id);
        console.log(response[0].name);
        console.log(response[0].email);
        console.log(response[0].zipCode);
        console.log(response[0].dateTime);
        console.log(response[0].ipAddr);
        console.log(response[0].pageVisited);
    }).catch((err)=>{console.log(err)});
结果:

[
  {
    _id: 5f6d4dc312c76000170c5c43,
    name: 'Bob',
    email: 'bob@mail.com',
    zipCode: '12345',
    pageVisited: 'p1m2549',
    dateTime: 2020-09-25T01:54:11.152Z,
    ipAddr: '111.111.111.111',
    __v: 0
  }
]

5f6d4dc312c76000170c5c43
Bob
bob@mail.com
undefined
undefined
undefined
undefined

是什么导致了这种奇怪的行为?我可以访问一些属性,但不能访问其他属性,这真的没有任何意义。

这可能是因为这些元素没有在模式中定义

定义模式,如下所述

var Schema = mongoose.Schema;

var UserSchema = new Schema({
    name: String,
    email: String,
    zipCode: String,
    pageVisited: String,
    dateTime: Date,
    ipAddr: String,
    __v: Number

  });

var User = mongoose.model('users', UserSchema );

User.find()
    .then((response)=>{
        console.log(response);
        console.log();
        console.log(response[0]._id);
        console.log(response[0].name);
        console.log(response[0].email);
        console.log(response[0].zipCode);
        console.log(response[0].dateTime);
        console.log(response[0].ipAddr);
        console.log(response[0].pageVisited);
        console.log(response[0].__v);
    }).catch((err)=>{console.log(err)});

是的,就是这样。有道理。出于好奇,你知道这里到底发生了什么吗?为什么作为一个整体打印的响应变量会显示完整的数据。但是当我深入研究字符串/对象时,有些属性是未定义的?这对我来说似乎没有意义。我认为它根本就没有这些数据。