繁体   English   中英

如何修改MongoDB中添加的动态文档字段

[英]How to modify added dynamically document fields in MongoDB

我正在使用MEAN.io来完成一个项目。 在MEAN.io中,用于管理用户的包位于node_modules中,因此不得修改它。 用户的MongoDB模型位于那里,所以如果我想添加新字段,我必须使用我自己创建的包中的schema.add方法来完成:

user.schema.add({
    field1: [],
    deleted_at: {
      type: Date,
      default: null
    },
    banned_at: {
      type: Date,
      default: null
    },
    created_at: {
      type: Date,
      default: new Date()
    },
    field2: {
      type: Number,
      default: 0
    },
    field3: {
      type: Number,
      default: 0
    },
    field4: {
      type: Number,
      default: 0
    }
});

一切似乎都运行得很好,但是当我尝试修改deleted_at字段时,执行以下操作:

user.deleted_at = new Date();
console.log(user);

用户对象不显示deleted_at字段的任何跟踪。 它不只是改变任何东西。

所以问题是如何修改动态添加的字段?

提前致谢!

问题是设计模式被编译成模型而无法动态编辑。 此线程( 此处 )包含有关mongoose的信息,但对于将字段动态添加到数据库模式的其他方法也是如此。

如果您不确定架构,则应使用混合类型。 浏览@ vkarpov15评论以获取其他选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM