【问题标题】:Best practice to create/update Mongoose objects创建/更新 Mongoose 对象的最佳实践
【发布时间】:2013-06-10 18:47:04
【问题描述】:

我有一些多深度的 Mongoose 模式。创建/更新时,我目前将每个提供的值从 json 对象分配给对象字段。不过,我想做几件事。一方面,我想自动删除空值以防止 Mongoose 尝试验证它们,其次我不想单独分配每个值/字段,而是将其传递给整个 json 对象并让架构使用它来处理验证 - 我假设如果 json 对象中有额外/不存在的字段,它们将被丢弃。因此,我的解决方案是创建一个函数,该函数将递归遍历 json 对象,删除空值和禁止字段(即 created_at、_id 等),然后将其余部分传递并保存。有没有人对 Mongoose 中已经这样做的东西提出建议,或者我没有看到这种方法存在的问题?

【问题讨论】:

    标签: javascript node.js mongodb mongoose


    【解决方案1】:

    也许这个方法就是你想要的findByIdAndUpdate

    实际上,当你使用 save() 方法时,它只会更新你改变的字段:

    result.true_name = "test233334";
    结果.save();

    日志:Mongoose: admins.update({ _id: ObjectId("51b5af1a370c3fa716000001") }) { '$set': { true_name: 'test233334', updated_at: new Date("Mon, 10 Jun 2013 10:49:38 GMT") } } {}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 2013-07-07
      • 2018-08-13
      • 1970-01-01
      • 2010-12-31
      • 2019-11-23
      相关资源
      最近更新 更多