当前位置: 首页 > 知识库问答 >
问题:

findByIdAndUpdate是否覆盖未修改的数据?

颛孙品
2023-03-14

我正在使用findByIdAndUpdate更新修改的表单字段。

它是否覆盖了文档中甚至未在表单中修改的所有字段?

共有1个答案

詹弘毅
2023-03-14

根据Mongoose的文件:

通过文档的_id字段发出mongodb findAndModify更新命令。findByIdandUpdate(id,...)findOneanDUpdate({_id:id},...)等效。

查找匹配的文档,根据update参数更新它,传递任何options,并将找到的文档(如果有)返回回调。如果传递了callback,则执行查询。

简而言之,它仅根据发送到findByIdandUpdate方法的对象覆盖选定文档的属性。如果您发送的对象没有修改属性,那么该属性将保持原样。

进一步阅读:猫鼬的文件关于这个话题。

 类似资料:
  • 我的@SpringBootApplication注释存在于包中。 根据本文,使用@SpringBootApplication注释等同于使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性:- https://docs.spring.io/spring-boot/docs/2.0.x/reference/html/using-b

  • 问题内容: 你能 声明这样 的函数吗? 然后像这样 重新声明 它… 这样可以覆盖函数吗? 可以吗 问题答案: 编辑 解决此答案未直接解决原始问题的评论。如果您是通过Google搜索到达的,请从此处开始 有一个名为override_function的函数可以实际使用。但是,由于此函数是Advanced PHP Debugger扩展的一部分,因此很难为生产使用提供参数。因此,我要说“否”,不可能以原始

  • 问题内容: 这个: 在html中调用,例如: 向div元素添加一个字符串。正是我想要的。但是,这: 这样称呼: 似乎正在覆盖我的整个html文件。即,当我在Firefox中运行它时,它仅显示字符串(即页面的全部内容),但页面似乎仍在加载(FF的加载图标仍在进行动画显示,显然是无限的)。 首先,这将仅在本地,离线使用,作为呈现数据的快速便捷方式(使用html + js和网络浏览器而不是纯文本文件)。

  • 据我所知,<code>override</code>关键字声明给定的声明实现了一个基本<code>virtual</code>方法,如果没有找到匹配的基本方法,编译应该失败。 我对< code>final关键字的理解是,它告诉编译器任何类都不能覆盖这个< code >虚拟函数。 那么是多余的吗?它似乎编译得很好。最终传达哪些信息而信息不传达?这种组合的用例是什么?

  • 问题内容: 在Java中是否可以覆盖Objects数组的toString? 例如,假设我创建了一个简单的类(由于这是一个普遍的问题,所以实际上是哪个类并不重要)。客户端一旦创建了一个数组并使用了它,是否有可能不打印该数组的地址,而是打印一个定制的? PS:当然,我不能只在类中重写它,因为它与单个实例有关。 问题答案: 不会。您当然可以创建一个静态方法User.toString(User []),但

  • 问题内容: 我写了一个大的sql脚本来创建CSV文件。我想每天晚上调用cronjob来创建一个新的CSV文件,并在网站上提供该文件。 假设我将文件存储在“ /home/sites/example.com/www/files/backup.csv”中 我的SQL是 当文件已经存在时,MySQL给我一个错误 文件“ /home/sites/example.com/www/files/backup.cs