Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建/更新Mongoose对象的最佳实践_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 创建/更新Mongoose对象的最佳实践

Javascript 创建/更新Mongoose对象的最佳实践,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有一些多深度猫鼬模式。创建/更新时,我当前将json对象中提供的每个值分配给对象字段。不过我想做几件事。首先,我想自动删除空值,以防止Mongoose尝试验证它们;其次,我不想单独分配每个值/字段,而是将整个json对象传递给它,并让模式使用它来处理验证——我假设,如果json对象中有额外/不存在的字段,它们只会被删除丢弃的。因此,我的解决方案是创建一个递归遍历json对象的函数,删除空值和禁止字段(即created_at、_id等),然后只传递其余的并保存。是否有人对猫鼬中已经存在的问题提出

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

也许这种方法正是您想要的

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

result.true_name=“test233334”
result.save();

日志:
Mongoose:admins.update({u id:ObjectId(“51b5af1a370c3fa716000001”)}{{set':{true\u name:'test233334',更新时间:新日期(“2013年6月10日星期一10:49:38 GMT”)}{