javascript - 是否可以更新 Mongoose 文档中的对象?

标签 javascript node.js mongoose

我对 Mongoose 有一个奇怪的问题,我开始怀疑我做错了什么。

我的架构看起来像这样:

var personSchema = mongoose.Schema({
  name: String, // Self-e
  info: { type: Object, default: {'value':'result'} },
  created_on: { type: Date, default: Date.now }
})

获取文档后,我尝试像这样编辑 info 对象(假装 person 是获取的文档):

person.info['value2'] = 'result2'
person.save()

这些更改不会显示在数据库中,并且我在运行它时没有收到任何错误。有什么想法吗?

最佳答案

正如我从@ippi那里了解到的,因为 info 是一个混合对象,你需要确保 Mongoose 知道它被修改了,这样当你调用 person.save( )

例如:

person.info['value2'] = 'result2'
person.markModified('info')
person.save()

关于javascript - 是否可以更新 Mongoose 文档中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50885236/

相关文章:

javascript - iOS 使用当前位置权限对话框在 Phonegap 应用程序中显示两次

javascript - Framer.js : how do you get the "previous" layer?

node.js - 在 godaddy 共享主机上永远运行 Node/express 应用程序

node.js - Mongoose,是否可以在一次调用中保存时将父 ID 分配给子文档?

node.js - 在客户端和服务器 Mongoose 模型之间共享 typescript 接口(interface)

node.js - Node - Mongoose 3.6 - 使用填充字段对查询进行排序

javascript - .... 之间有什么区别?

Javascript - 动态对象键(第二个键)

javascript - 将 mongoose 对象映射到 Express js 中的 DTO 对象

javascript - 代理 Node 请求新端口并充当反向代理