我有一些多深度的Mongoose模式。在创建/更新时,我当前将每个提供的值从json对象分配给对象字段。不过我想做几件事。我希望自动删除空值以防止Mongoose尝试验证它们,其次我不想单独分配每个值/字段,而是将整个json对象传递给它并让架构使用它来处理验证 - 我假设如果json对象中存在额外/不存在的字段,则它们将被丢弃。因此,我的解决方案是创建一个函数,该函数将递归遍历json对象,同时删除空值以及禁用字段(即created_at,_id等),然后将其余部分传递并保存。有没有人对Mongoose中的某些东西有过建议,或者有一些我没有看到这种方法的问题?
答案 0 :(得分:0)
也许这种方法是您想要的findByIdAndUpdate
实际上,当您使用save()方法时,它只会更新您更改的字段:
result.true_name =“test233334”;
result.save();
日志:Mongoose: admins.update({ _id: ObjectId("51b5af1a370c3fa716000001") }) { '$set': { true_name: 'test233334', updated_at: new Date("Mon, 10 Jun 2013 10:49:38 GMT") } } {}