javascript - 点运算符不获取 Mongoose 文档对象的子属性

标签 javascript node.js mongodb mongoose

console.log('>>>>>>user = '+ user);

输出

>>>>>>user      = { username: 'user1',
  salt: '3303187e50a64889b41a7a1c66d3d3c10b9dec638fdd033bee1221d30d01c5e1',
  hash: 'a174c206d88bee1594bb081dbd32d53420f6ef3d6322104f3d0722d58bc8dd8d',
  _id: 52d3177481daf59c11000001,
  __v: 0 }

但是

console.log('>>>>>>user.hash = '+ user.hash);

输出

>>>>>>user.hash = undefined

这可能是什么原因造成的?


编辑:有趣的是,user._id(并且)有效。

最佳答案

更新:Solved in mongoose v3.8.19


这完全是 Mongoose 的问题。

解决方案是不要采用无架构。我用的是 strict: false在定义我的模式时(使我的数据库无模式)

var Users = mongoose.model('Users', new mongoose.Schema({
    },{strict:false}));

在此处添加 hash 即可解决。

var Users = mongoose.model('Users', new mongoose.Schema({
    hash: String
    },{strict:false}));

关于javascript - 点运算符不获取 Mongoose 文档对象的子属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129393/

相关文章:

javascript - 在动态创建输入元素时为 onclick 分配参数值

javascript - 使用 AJAX 无缝切换页面

php - 使用 PHP 将 MySQL 转换为 Mongodb 时出现编码问题

node.js - 在mongodb的聚合中调用函数?

javascript - jQuery .hover() 奇怪的行为

Javascript将字符串拆分为不同大小的子字符串

javascript - JavaScript中有多人棋盘游戏的框架吗?

node.js - 每次更新数据库时如何通过套接字 io 发出数据?

javascript - 在 Windows 上使用 gpg 连接到 postgresql 数据库时出错

r - 通过 Shinyapps.io 连接到 MongoDB Atlas