当前位置: 首页 > 编程笔记 >

如何在不覆盖现有文档的情况下更新MongoDB文档?

富波光
2023-03-14
本文向大家介绍如何在不覆盖现有文档的情况下更新MongoDB文档?,包括了如何在不覆盖现有文档的情况下更新MongoDB文档?的使用技巧和注意事项,需要的朋友参考一下

要仅更新字段值,请使用update()和$set。这不会覆盖现有的。首先让我们创建一个包含文档的集合-

> db.demo401.insertOne(
...    {
...       "_id" : 1001,
...       "Name" : "Chris",
...       "SubjectName" : "MongoDB",
...       "Score" : 45
...    }
... );
{ "acknowledged" : true, "insertedId" : 1001 }

在find()方法的帮助下显示集合中的所有文档-

> db.demo401.find();

这将产生以下输出-

{ "_id" : 1001, "Name" : "Chris", "SubjectName" : "MongoDB", "Score" : 45 }

以下是更新文档而不覆盖现有文档的查询-

> db.demo401.update({_id: 1001}, {$set: {Score:89}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

在find()方法的帮助下显示集合中的所有文档-

> db.demo401.find();

这将产生以下输出-

{ "_id" : 1001, "Name" : "Chris", "SubjectName" : "MongoDB", "Score" : 89 }
 类似资料:
  • 问题内容: 我在我的网站上设置了一个滑动面板。 完成动画制作后,我像这样设置哈希 (这是一个回调,并且在前面已分配)。 这很好用,可以使用户在面板上添加书签,也可以使非JavaScript版本正常工作。 但是,当我更新哈希时,浏览器跳到该位置。我想这是预期的行为。 我的问题是:如何预防这种情况?即如何更改窗口的哈希值,但是如果哈希值存在,浏览器 不能 滚动到该元素?某种东西吗? 我正在使用jQue

  • 问题内容: 我使用pandas以以下方式写入excel文件: Masterfile.xlsx已经包含许多不同的选项卡。但是,它尚未包含“ Main”。 熊猫正确地写到“主要”表,不幸的是,它也删除了所有其他标签。 问题答案: Pandas文档说,它对xlsx文件使用openpyxl。快速浏览一下其中的代码ExcelWriter可以提示可能会发生以下情况:

  • 问题内容: 我使用熊猫以以下方式写入excel文件: 已经包含许多不同的选项卡。但是,它还不包含。 熊猫正确地写到“主要”表,不幸的是,它也删除了所有其他标签。 问题答案: pandas文档表示,它对文件使用。快速浏览一下其中的代码r可以提示可能会发生以下情况:

  • 主要内容:update() 方法,save() 方法在 MongoDB 中,可以使用 update() 和 save() 方法来更新集合中的文档。其中 update() 方法可以更新现有文档中的值,而 save() 方法则可以使用传入文档来替换已有文档。 update() 方法 update() 方法用于更新现有文档中的值,其语法格式如下: db.collection_name.update(     <query>,     <update>,

  • 问题内容: 如何在文件中添加文本而不覆盖旧文本。我使用模块fs(节点js) 我试过了这段代码,但是没有用。 任何建议,谢谢。 问题答案: 在此处检查标记:http : //nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback-您当前正在使用哪个标记: ‘w +’-打开文件进行读写。文件已创建(如果不存在)或被截断(如果存在)。 您应该

  • 我有一个mongodb集合的mongoose模式,我将其定义如下: 在数据库集合中,我当前有一个文档,它包含除以外的所有属性的值,用于测试目的。我有一个服务器endpoint,当被调用时,它应该发出一个PUT请求来更新文档并向sketches数组中添加一个对象: 在这个web服务中,我基本上试图通过用户名选择用户文档,用户名作为参数传递给url字符串,如下所示: 由于某种原因,当我尝试使用具有以下