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

MongoDB中如何做到更新并防止覆盖

诸葛乐逸
2023-03-14
本文向大家介绍MongoDB中如何做到更新并防止覆盖,包括了MongoDB中如何做到更新并防止覆盖的使用技巧和注意事项,需要的朋友参考一下

让我们创建一个包含文档的集合-

> db.demo601.insertOne(
...    {
...       id:1,
...       userDetails:
...          {
...             userName:"John",
...             userMailId:"John@gmail.com"
...          }
...       }
...    );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e95ff5ced011c280a0905c7")
}
>
> db.demo601.insertOne( { id:2, userDetails: { userName:"Carol",
userMailId:"Carol@gmail.com" } } );{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e95ff71ed011c280a0905c8")
}

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

> db.demo601.find();

这将产生以下输出-

{ "_id" : ObjectId("5e95ff5ced011c280a0905c7"), "id" : 1, "userDetails" : { "userName" : "John", "userMailId" : "John@gmail.com" } }
{ "_id" : ObjectId("5e95ff71ed011c280a0905c8"), "id" : 2, "userDetails" : { "userName" : "Carol", "userMailId" : "Carol@gmail.com" } }

以下是要更新的查询-

>db.demo601.update({_id:ObjectId("5e95ff71ed011c280a0905c8")},{$set:{userMailId:"Carol@yahoo.com"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo601.find();

这将产生以下输出-

{ "_id" : ObjectId("5e95ff5ced011c280a0905c7"), "id" : 1, "userDetails" :
   { "userName" : "John", "userMailId" : "John@gmail.com" }
}
{ "_id" : ObjectId("5e95ff71ed011c280a0905c8"), "id" : 2, "userDetails" :
   { "userName" : "Carol", "userMailId" : "Carol@gmail.com" }, "userMailId" : "Carol@yahoo.com" 
}
 类似资料:
  • 问题内容: 保存hibernate对象时,hibernate中是否有设置可以 忽略 属性的 空值 ? 注意 在我的情况下,我正在通过杰克逊将JSON反序列化为Hibernate Pojo。 JSON仅包含Pojo的某些字段。如果保存Pojo,则不在JSON中的字段在Pojo中为null,然后hibernate更新它们。 我遇到了这个问题,但这不是100%的解决方案。 http://docs.jbo

  • 问题内容: 有没有一种方法可以使类函数不可重写?类似于java的关键字。即,任何覆盖的类都不能覆盖该方法。 问题答案: 问题是您正在尝试使用Java哲学来用Python编写。有些东西会延续,但不是全部。在Python中,您可以执行以下操作,这非常好,但是完全违反了Java对对象的看法。 如果您确实需要,可以尝试此处发布的代码。但是正如您所看到的,有很多代码可以让它执行您想要的操作。还应注意,即使是

  • 我有base/config/services。yaml在我的Symfony 4.3项目中存储了许多服务。例如: 对于我的测试目的,我有配置/测试/test_services.yaml,其中存储带有前缀的服务,以测试私有服务,使它们在test env中公开。 服务之一,在test_服务中声明。yaml没有前缀。它的名称(FQCN)与服务中定义的另一个名称相同。亚马尔。它们具有相同类型的不同构造函数参

  • 嗨,我有一个maven项目,需要在集成测试开始之前将2个WAR部署到一个jetty环境中。在正常情况下,这些WAR不是项目的依赖项,但它们需要分开部署,以便集成测试发挥作用。 有人知道如何在只下载依赖项而不做任何更多事情的war上添加依赖项吗?

  • 我正在尝试在数据库上注册一个项目(6小时或12小时)后的特定时间发送通知。当我只注册一个项目时,通知工作良好,但是,如果我在一段时间内注册了两个项目,第一个通知将被第二个覆盖。 我知道我必须将id添加到挂起的意图中,可能还需要将id添加到实际通知中,但是我对alarmManager类不是很熟悉,也不知道应该在哪里添加id。如何使这两个通知相互独立? NotificationHelper类: 我开始

  • 问题内容: 在IE10中,滚动条并不总是存在的……当它出现时以覆盖的形式出现……这是一个很酷的功能,但是我想为我的特定网站关闭它,因为它是一个全屏应用程序,而我徽标和菜单丢失了。 问题答案: 搜寻了一下之后,我偶然发现了一个讨论,其中“蓝墨水”留下的评论指出: 检查页面,我设法使用以下方法重现了这些页面: @ -ms-viewport {width:device-width; } 这会导致滚动条变