0

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

4

1 回答 1

0

也许这个方法就是你想要的 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") } } {}

于 2013-06-10T09:49:02.190 回答