mongodb

MongoDB(课时30 $group)

3.7.5、聚合框架(核心)MapReduce功能强大,但是它的复杂度和功能一样强大,那么我们需要MapReduce的功能,使用聚合框架中的聚合函数:aggregate()。3.7.5.1、group操作group主要进行分组的数据操作。范例:实现聚合查询的功能db.emps.aggregate([{"$group":...
代码星球·2020-07-22

MongoDB(课时29 MapReduce)

3.7.4MapReduceMapReduce是整个大数据的精髓所在(实际中别用,因为在MongoDB中属于最底层操作)。MapReduce是一种计算模型,简单的说就是将大批量的工作分解执行,然后再将结果合并成最终结果。MapReduce就是分为两步处理数据:Map:将数据分别取出Reduce:负责数据的最后的处理范例...
代码星球·2020-07-22

MongoDB(课时28 group操作)

3.7.3group操作使用“group”操作可以实现数据的分组操作,MongoDB里将集合依据不同的的key进行分组操作,并且每个组产生一个处理文档。范例:查询年龄大于等于19岁的学生信息,并且按照年龄分组 db.runCommand({"group":{            "n...
代码星球·2020-07-22

MongoDB(课时27 消除重复数据)

3.7.2消除重复数据在SQL中对于重复的数据可以使用"DISTINCT"消除,在MongoDB中依然支持。(distinct不同的)范例:查询所有name的信息本次的操作没有直接的函数支持,只能够利用runCommand()函数。runCommand()直接通过db调用,不经过集合调用,所以在runCommand()...

MongoDB(课时26 聚合(取的集合个数))

3.7聚合(重点)信息的统计操作就是聚合(直白:分组统计就是一种聚合操作)。3.7.1取的集合的数据量对于集合的数据量而言,在MongoDB里面直接使用count()函数就可以完成。范例:统计students表中的数据量db.students.count()范例:模糊查询db.students.count({"name...

MongoDB(课时25 地理信息索引)

3.6.4地理信息索引地理信息索引分为两类:2D平面索引,2DSphere球面索引。在2D索引里面基本上能够保存的信息都是坐标,而且坐标保存的就是经纬度坐标。范例:定义一个shop的集合db.shop.insert({loc:[10,10]})  #loc表示坐标db.shop.insert({loc:[11,10]}...

MongoDB(课时24 全文索引)

3.6.3全文索引在一些信息管理平台上经常需要进行信息模糊查询,最早的时候是利用了某个字段上实现的模糊查询,但这个时候返回的信息并不会很准确,因为只能够查A字段或B字段,而在MongoDB里面实现了非常简单的全文检索。范例:定义一个新的集合db.news.insert({"title":"wangke","conten...
代码星球·2020-07-22

MongoDB(课时22 过期索引)

3.6.2过期索引在一些程序的站点会出现若干秒之后信息被删除的情况,例如:手机信息验证码,那么在MongoDB里面可以轻松实现过期索引。但这个时间往往不怎么准确。范例:设置过期索引(实现过期索引,需要保存一个时间信息。)db.phones.ensureIndex({"time":1},{expireAfterSecon...
代码星球·2020-07-22

Mongodb~连接串的整理

mongodb连接串可以分为普通开放的,带全局用户名和密码的,为指定数据库指定用户名密码的等。普通开放连接mongodb://localhost:27017带全局用户密码的mongodb://username:password@localhost:27017指定数据库带用户名密码的mongodb://username:...
代码星球·2020-07-18

MongoDB学习笔记~监控Http请求的消息链

在微服务架构里,你的一个任务可以需要经过多次中转,去多个接口获取数据,而在这个过程中,出现问题后的解决就成了一个大难点,你无法定位它的问题,这时,大叔的分布式消息树就出现了,费话不多说,主要看一下实现的逻辑。大叔对分布式消息链的一些想法事情是这样的,前段时间在做接口开发时,可能出现这种情况,一个接口返回的数据,可能来自...

MongoDB学习笔记~地图坐标的支持与附近点的查找

回到目录Mongodb这个数据库很不错,它的方法也不错,为了实现坐标功能,它甚至为我们提供了geo里的一些算法,帮助我们通过某个点去位置和查找N个附近的点。表面在您存储地理数据和编写查询条件前,首先,您必须选择表面类型,这将被用在计算中。您所选择的类型将会影响您的数据如何被存储,建立的索引的类型,以及您的查询的语法形式...

Mongodb在CSharp里实现Aggregate

回到目录 今天主要用了一个mongodb.driver里的分组,事实上在网上介绍这方面的文章非常少,以至于我在出现问题后,无法找到一个正确的解决方案,最后还是通过异常信息找到的解决方法,所以感觉自己更应该去写一篇关于如何在C#驱动里进行聚合Aggregate的文章!///<summary>///返...

MongoDB学习笔记~复杂条件拼接和正则的使用

在大叔lind框架里有日志组件logger,而在日志实现方式上有file,mongodb,sql,json等方式,对分布式日志处理上大叔推荐使用mongodb进行存储,除了它的高效写入,灵活的结构外,还有对复杂条件的支持,你可以从百万数据中查询到你需要的内容,这点是关系数据库不能实现的,你无法想法使用like这种语句是...

MongoDB学习笔记~数据模型属性为集合时应该为它初始化

回到目录今天要说一下技术点,我们在设计mongodb的数据模型时,如果属性是数组或者集合类型,我们在模型初始化时,需要为它们初始化一下,否则在数据库里将会被存储为NULL,当被存储为NULL时,我们将无法进行组件的push,pull等操作。之间在设计模型时没有注意这点,然后产生的问题就是,没有被集合赋值,在mongod...

MongoDB学习笔记~对集合属性的操作

回到目录$unset清除元素请注意在单个数组元素上使用$unset的结果可能与你设想的不一样。其结果只是将元素的值设置为null,而非删除整个元素。要想彻底删除某个数组元素,可以用$pull和$pop操作符。$addToSet和$push的区别该两者的功能都是给数组添加一个值。但是两者之间有区别,$addToSet要添...