![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mongodb
文章平均质量分 69
mongodb 介绍和实用技巧
威赞
这个作者很懒,什么都没留下…
展开
-
Mongodb索引使用限制
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第85篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。通过在Mongodb添加索引,能够提高Mongodb查询效率。但在索引在使用当中也会有一些限制。本文结合官方文档,介绍Mongodb索引使用上的一些限制。原创 2024-07-05 17:22:00 · 606 阅读 · 0 评论 -
Mongodb索引简介
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第84篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。在Mongodb当中,为集合添加索引能够提高查询效率。如果没有索引,Mongodb必须扫描集合中的每一个文档数据来返回查询结果。如果集合当中包含查询合适的索引,Mongodb就可以使用该索引限制扫描文档的数量。尽管索引能够提高查询效率,但为集合添加索引会对Mongodb数据写入性能产生负面的影响。原创 2024-07-05 16:41:59 · 312 阅读 · 0 评论 -
影响Mongodb数据写入性能的因素
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第83篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。本文结合Mongodb的官方文档,探讨影响Mongodb写入操作的几个因素。原创 2024-07-03 16:41:38 · 447 阅读 · 0 评论 -
Mongodb性能优化方法
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第82篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。Mongodb与其他数据库类似,当面临大量数据查询时,会出现各种各样的性能问题。本文结合Mongodb的官方文档,整理几个优化Mongodb查询的技巧。原创 2024-07-03 14:55:19 · 648 阅读 · 0 评论 -
Mongodb集群中的分布式读写
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第81篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。本文简单介绍Mongodb的分布式操作。mongodb支持复制集和分片集合,本文结合官方文档,整理介绍复制集和分片结合的数据读取。原创 2024-07-01 11:26:15 · 837 阅读 · 0 评论 -
Mongodb使用索引进行查询优化
为集合建立合适的索引,能够有效的减少查询操作时扫描数据的数量 ,从而提高查询效率,简化了mongodb内部查询工作。如原来的某个查询需要进行全表扫描。当集合中有1000条数据时,可能需要逐一扫描这1000条数据,才可以返回查询结果。而当为查询字段添加索引后,通过索引,直接定位到查询结果,可能会极大的减少扫描文档数据的数量。原创 2024-06-28 10:04:35 · 874 阅读 · 0 评论 -
一个Mongodb案例-使用地理信息查询酒店
mongodb的地理信息索引能够方便快速的让用户查询包含地理信息的集合。包括查询地理信息位置,地理信息覆盖范围查询和计算等。为了展现mongodb在地理信息处理的能力和地理信息不同的处理方法,本文向你介绍了一个编写简单地图应用查询的过程。本文简单介绍了地理信息索引的概念,然后演示了使用方法$geoWithin, $geoIntersects和$nearSphere查询地理信息。假设你现在正在研发一个小的地图应用,来帮助客户查找纽约的酒店。使用$geoIntersects确认用户当前街区的地理位置信息。原创 2024-06-26 15:35:34 · 990 阅读 · 0 评论 -
Mongodb地理信息数据查询
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第78篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。通过阅读文档,了解Mongodb除了支持文档查询外,还支持地理信息坐标及临近查询。本文就对Mongodb对地理信息查询的支持进行介绍。原创 2024-06-26 11:41:53 · 968 阅读 · 0 评论 -
Mongodb中的基本地理信息元素
学习mongodb,体会mongodb的每一个使用细节,欢迎阅读威赞的文章。这是威赞发布的第77篇mongodb技术文章,欢迎浏览本专栏威赞发布的其他文章。Mongodb支持地理位置信息查询。借助Mongodb地理信息查询,用户可以完成简单的地理信息计算,包括计算欧式距离,确定临近点等。本文介绍Mongodb支持的地理信息对象类型。Mongodb的地理信息查询,依赖于WGS84坐标系。原创 2024-06-24 11:28:40 · 533 阅读 · 1 评论 -
Mongodb批量写入操作bulkWrite()
Mongodb提供了针对单一集合写操作批量执行的方法。在批量写操作当中,Mongodb也允许用户自由定义数据提交的方式。通过db.collection.bulkWrite()方法,用户能够对单一集合进行数据插入,更新和删除操作。当然, 方法db.collection.insertMany()也是一种批量写入操作。原创 2024-06-24 09:13:29 · 576 阅读 · 0 评论 -
Mongodb在UPDATE中使用二进制运算更新字段
bit操作符,对指定字段进行二进制更新。该操作符支持二进制与运算,或运算和异或运算。按照下面的形式,使用$bit操作符。$bit操作符,只能应用在整型数值类型字段的更新。更新嵌入式文档或嵌入式数组是,需要使用点操作符。行为自mongodb5.0开始,UPDATE操作按照字段名称的字典顺序更新字段。当字段中包含数字时,按照数字顺序依次更新字段。当然,对一个文档的多个字段操作,是原子性的。mongodb 5.0版本以后,向$bit传入空表达式({ })时,mongodb不再抛出错误。原创 2024-06-19 08:27:04 · 712 阅读 · 0 评论 -
Mongodb UPDATE使用$sort将数组重新排序
sort方法在$push操作过程中,修改数组元素的排序。$sort方法,必须和$each共同使用。mongodb允许用户传递一个空的数组给$each方法,保证用户无须向数组中插入元素也可以将数组进行排序。$sort方法,按照下面的形式来使用。$push: {: {对于sort specification, 当对非文档数组进行排序,或对整个文档作为整体进行排序时,正序可以指定1, 倒序可以指定为-1.当对文档字段进行排序时,指定要排序的字段和排列顺序。不需要添加数组字段的字段名称。原创 2024-06-18 08:27:44 · 675 阅读 · 0 评论 -
Mongodb UPDATE使用$slice限制更新后数组长度
slice操作符限制了在$push操作完成后,数组元素的数量。在投射操作当中,$slice指定了在一次读操作中返回数组元素的数量。$slice操作符,必须和$each操作符一起使用。当没有向数组字段插入新元素的需求时,用户可以向$each传递一个空数组保证$slice能够正常使用。语法如下$push: {<field>: {其中, <num>可以是0,表示将数组所有元素删掉。可以是负数,表示保留数组后面的指定元素。可以是正数,表示保留数组排在前面的几个元素。原创 2024-06-18 08:26:57 · 459 阅读 · 0 评论 -
Mongodb UPDATE, 使用$position指定向数组中插入新元素的位置
position操作符,指定了数组更新使用$push时,插入元素的位置。当用户向数组元素插入数据,不指定位置时,默认将元素插入到数组结尾。$position操作符,一定要和$each操作符搭配使用,按照下面的形式。$push: {<field>: {其中<num>指定了数组中的位置,从0开始的位置索引。当<num>为0或正数时,表示从数组第一个元素开始。当<num>大于数组当前元素数量时,将新元素插入数组的最后一个元素之后。当<num>为负数时,表示从数组的最后一个元素开始向前指定某个位置。原创 2024-06-17 09:58:01 · 540 阅读 · 0 评论 -
Mongodb中使用$each向数组字段插入多个元素
each操作符应用在UPDATE操作中的$addToSet和$push操作符当中。与$addToSet搭配使用时,将数组中的多个值插入到数组字段当中。当指定插入的元素不存在时,数据才插入目标数组。按照下面的形式与$addToSet搭配使用。与$push操作符搭配使用,将指定数组中的所有元素插入到目标数组。当然,$push与$each操作符混合使用时,还可以搭配$position, $slice, $sort等操作符。$push与$each搭配使用时,按照下面的形式。原创 2024-06-17 09:11:08 · 411 阅读 · 0 评论 -
MongoDB中UPDATE操作$pullAll
与$pull有所不同,$pull操作通过指定一个查询条件或单个值来删除数组中的元素。而$pullAll删除所有在指定列表中的数组元素。按照UPDATE操作中按照下面的形式,使用$pullAll.删除嵌套文档或数组中的元素,使用点操作符。原创 2024-06-14 07:08:10 · 1081 阅读 · 0 评论 -
Mongodb在UPDATE操作中使用$push向数组中插入数据
在update操作中,使用$push操作符向数组中插入新的元素。按照下面的语法,使用$push操作符当向嵌入式文档或数组中的数组字段插入元素时,使用点操作符。原创 2024-06-14 07:07:30 · 515 阅读 · 0 评论 -
Mongodb在UPDATE操作中使用$pull操作
在UPDATE中使用$pull操作符,删除数组中的指定元素或删除符合条件的数组元素。原创 2024-06-13 09:05:47 · 949 阅读 · 0 评论 -
Mongodb使用$pop删除数组中的元素
pop操作符删除数组当中的第一个元素或最后一个元素。向指定数组字段传入参数-1,表示删除第一个元素。而向指定数组字段传入参数1,表示删除最后一个元素。按照下面的形式,使用$pop操作符当删除嵌套文档或数组中数组元素时,使用点操作符。向集合中插入数据。其中scores是数组字段,包含两个元素。构建查询语句,删除scores数组字段的最后一个元素10查询数据更新结果。原创 2024-06-13 09:04:44 · 654 阅读 · 0 评论 -
MongoDB使用$addToSet向数组中添加元素
使用方法$addToSet, 向数组中添加不存在的元素。如果元素已经存在于目标数组当中,则使用$addToSet不会更新当前文档。原创 2024-06-12 14:01:03 · 733 阅读 · 0 评论 -
Mongodb使用$<identifier>过滤更新数组元素
带有过滤器的位置操作符$<identifier>定义数组中数据更新时,只符合identifier定义条件的元素才可以更新。其中<identifier>作为查询条件,需要在arrayFilters中定义。语法如下搭配使用arrayFiters,更新数组元素中符合过滤条件的数组。其中identifier,是一小写字母开头的字符串,只能包含小写字母和数字。原创 2024-06-12 11:26:24 · 938 阅读 · 0 评论 -
Mongodb使用$[]操作符更新数组的每一个元素
位置操作符$[]表示数据更新操作,需要修改指定数组的所有元素。使用时,按照下面的格式。在updateOne方法和findAndModify()方法中,使用$[]操作符,更新符合查询条件的数组中所有的元素。例如{ <查询条件>},{ <update操作符>: { "<array>.$[]": value}}原创 2024-06-11 14:46:15 · 293 阅读 · 0 评论 -
Mongodb数组元素更新之使用$定位数组第一个元素
位置操作符$, 指定了数组中需要更新的元素。使用$符号,避免了显示指定数组中需要更新元素的位置。原创 2024-06-07 17:15:35 · 1008 阅读 · 0 评论 -
MongoDB UPDATE使用$setOnInsert为新插入数据设置默认值
在UPDATE语句中,指定{upsert: true}. 当触发新的文档插入操作时,使用$setOnInsert方法向插入文档的指定字段指定默认值。当没有新的文档插入时,不会执行$setOnInsert方法里的语句。原创 2024-06-05 08:27:03 · 638 阅读 · 0 评论 -
Mongodb聚合操作中的$unset
在聚合操作中,排除一些字段的返回。聚合操作中的$unset并没有对数据产生影响,而只是在返回结果中将不需要的字段排除。原创 2024-06-07 08:38:40 · 634 阅读 · 0 评论 -
Mongodb中字段的删除
在UPDATE操作中,使用$unset删除指定字段。注意区分聚合操作中的unset。在UPDATE中,unset使文档的结构发生变化,会删除文档中的指定字段。而在聚合操作中使用unset,影响的只是投射结果,在返回结果中排除了指定的字段,而不会删除文档中的字段。原创 2024-06-05 08:27:35 · 677 阅读 · 0 评论 -
MongoDB 最常用的数据更新方法$set,你用对了吗?
在UPDATE方法中,使用$set操作符将字段值替换为指定值。原创 2024-06-04 11:21:26 · 536 阅读 · 0 评论 -
MongoDB $rename 给字段一次重新命名的机会
操作符$rename修改字段的名称。原创 2024-06-04 08:49:09 · 454 阅读 · 0 评论 -
MongoDB数据更新中的乘法$mul
mul, 将字段值乘以某个数值。原创 2024-04-03 14:25:44 · 617 阅读 · 0 评论 -
MongoDB数据更新大之大与小中小
操作符$min,更新指定字段值。当新值小于当前字段值时,更新数据。$min支持不同类型的数据比较。操作符$max,更新指定字段值。当新值大于当前字段值时,更新数据。$max支持不同类型的数据比较。原创 2024-04-03 11:28:13 · 750 阅读 · 0 评论 -
Mongodb中一个小巧的数据更新命令$inc
使用操作符$inc,按照用户指定的大小,增加或减少字段值。原创 2024-04-01 17:10:29 · 769 阅读 · 0 评论 -
Mongodb字段更新操作符$currentDate
Mongodb支持使用操作符$currentDate更新字段为当前时间。默认更新成Date类型的时间。但也支持将字段更新成为timestamp. 当字段不存在时,向更新的文档中添加字段并更新成当前时间。原创 2024-04-01 16:36:52 · 1150 阅读 · 0 评论 -
Mongodb文档更新不要只用$set
自Mongodb 4.2版本开始,用户可以在UPDATE操作中,定义聚合管道来更新数据。自接触Mongodb以来,更新操作似乎都可以通过$set来完成,很少使用其他操作符。工作之余,有时间来阅读官方文档,整理了一些使用聚合管道更新数据的用例。Mongodb支持聚合管道中使用下面的方法,来更新数据。原创 2024-02-22 14:33:51 · 458 阅读 · 0 评论 -
MongoDB 文档更新update
无论是关系型数据库还是非关系型数据库,数据插入数据库,都会有更新的需求。与其他数据库数据一致,mongodb提供update方法来更新数据库中的数据。原创 2024-02-22 13:41:29 · 873 阅读 · 0 评论 -
Mongodb $text详解
text在包含文本索引字段的集合中,执行文本检索。原创 2024-02-21 16:57:33 · 1272 阅读 · 0 评论 -
Mongodb 文本检索
Mongodb支持对字符串字段的文本检索。在Mongodb atlas中, 对这种文本检索的功能进行了增强。提到文本检索, 难免不会想到实现非常火爆的AI, 聊天服务等时髦技术。mongodb提供的这种文本检索功能+适当的算法实践,似乎可以支持这些应用场景。本文研究Mongodb文本检索文档,整理出在本地Mongo数据库中使用文本检索的方法和注意事项。原创 2024-02-16 11:35:34 · 825 阅读 · 0 评论 -
Mongodb投射中的$slice,正向反向跳过要搞清楚
投射中使用$slice命令,指定查询结果中返回数组元素的数量。原创 2024-01-30 09:31:54 · 708 阅读 · 0 评论 -
Mongodb查询投射中的$elemMatch
投射中$elemMatch与$操作符号一样,都是返回数组中第一个符合查询条件的数据。但两个操作命令也有差异。使用$符号时,用户只能通过查询条件来过滤数组元素。而使用$elemMatch时,用户可以显示的定义更多的数组过滤条件。同时$elemMatch也支持文档数组中多个字段的查询条件定义。原创 2024-01-28 07:57:47 · 624 阅读 · 0 评论 -
Mongodb查询投射中使用$符号
数组定位符号$,限定返回数组中第一个匹配查询条件的数组元素。当用户只想返回数组中一个指定元素时,在find()或findOne()方法的投射文档中,在数组字段后添加.$符号。原创 2024-01-28 07:13:03 · 426 阅读 · 0 评论 -
Mongodb 控制查询返回字段
使用关系型数据库时,用户在select命令后添加字段名称控制返回字段。mongodb中也支持对查询返回字段的控制。默认返回文档的所有字段。为了限制返回数据量,提高网络传输速率。用户可以通过投射(projection)来指定返回字段或在返回结果中排除一些字段。原创 2024-01-22 17:02:46 · 697 阅读 · 0 评论