Mongodb 无法访问Mongoose文档中的某些属性
我正在使用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);
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)});
是的,就是这样。有道理。出于好奇,你知道这里到底发生了什么吗?为什么作为一个整体打印的响应变量会显示完整的数据。但是当我深入研究字符串/对象时,有些属性是未定义的?这对我来说似乎没有意义。我认为它根本就没有这些数据。