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

通过MongoDB集合中的ID搜索数组条目并执行更新

荀裕
2023-03-14
本文向大家介绍通过MongoDB集合中的ID搜索数组条目并执行更新,包括了通过MongoDB集合中的ID搜索数组条目并执行更新的使用技巧和注意事项,需要的朋友参考一下

要通过id搜索数组,请使用position $运算符。要进行更新,请使用MongoDB中的UPDATE。让我们创建一个包含文档的集合-

> db.demo49.insertOne(
... {
...
...    "Name": "David",
...    "Details": [
...       {
...          "_id": "D1234",
...          "Subject":"MySQL"
...       },
...       {
...          "_id": "E234",
...          "Subject":"Java"
...       },
...       {
...          "_id": "F456",
...          "Subject":"Python"
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e270a77cfb11e5c34d89902")
}

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

> db.demo49.find();

这将产生以下输出-

{ "_id" : ObjectId("5e270a77cfb11e5c34d89902"), "Name" : "David", "Details" : [ { "_id" : "D1234", "Subject" : "MySQL" }, { "_id" : "E234", "Subject" : "Java" }, { "_id" : "F456", "Subject" : "Python" } ] }

以下是在MongoDB集合中通过其ID搜索数组条目的查询-

> db.demo49.update( {"Details._id":"E234"},
... {$set:{"Details.$.Subject":"MongoDB"}}, false, true )
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

> db.demo49.find();

这将产生以下输出-

{ "_id" : ObjectId("5e270a77cfb11e5c34d89902"), "Name" : "David", "Details" : [ { "_id" : "D1234", "Subject" : "MySQL" }, { "_id" : "E234", "Subject" : "MongoDB" }, { "_id" : "F456", "Subject" : "Python" } ] }
 类似资料:
  • 我的模式实现受到了mongo官方网站上这篇教程的影响 这基本上是为时间序列数据设计的模式,我将每个设备每小时的数据存储在单个文档中的数组中。我创建字段组合发送数据和时间的设备id。例如,如果id为的设备在发送数据,则我的 字段将变为

  • 我使用Mongodb和我的数据库模式,如下所示: 我要找到所有的记录,名字+名字喜欢‘瓦希德kh’。在SQL中,这将是: 从firstName+lastName类似“%Vahid KH%”的表中选择*

  • 我需要使用pymongo用python搜索一个ObjectId,但我总是得到这个错误。你知道怎么搜索吗?

  • 如果我有一个数据,其结构类似于集合中的单个文档: 有没有办法通过id“childid”搜索嵌入的文档?因为mongo没有索引嵌入文档的_id字段(如果我在这里错了,请纠正我),因为这个查询不起作用:db。收集查找({u id:“childid”}); 另外,请告知我是否有任何其他文档数据库适用于这种树结构的检索数据,其中要求: 查询子级而不必发出联接 查找树中的任何节点的速度与查找根节点的速度一样

  • 我有一个包含100,000个集合的数组。每个集合包含1,000,000以下的自然数。我必须找到有序对的数量{m,n},其中0 例如,我有两个集合set1={1,2,4}set2={1,3}。5以下所有可能的有序数对是{1,2}、{1,3}、{1,4}、{2,3}、{2,4}和{3,4}。集合1中不同时存在的低于5的数的有序对是{1,3}、{2,3}和{3,4}。集合2中5以下缺失的有序对是{1,2

  • 我有两个字段FirstName和LastName存储在MongoDB中。从前端,我接收到一个字符串,包含名字和姓氏,用空格分隔,我需要一个查找查询,搜索名字和姓氏的组合。