• MongoDB 索引简介

    在MongoDB中索引支持使得执行查询更高效。 如果没有索引,MongoDB必须执行集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。如果查询存在适当的索引,MongoDB可以使用索引来限制它必须检查的文档数。索引是特殊的数据结构[1],它以易于遍历的形式存储集合数据集的一小部分。 索引存储特定字段或字段集的值,按字段值排序。 索引条目的排序支持有效的等式匹配和基于范围的查询操作。 此

    Aug 31, 2018 阅读(37)
    标签: MongoDB
  • MongoDB 中游标(Cursor)

    引入db.collection.find()方法返回一个游标结果,访问文档需要遍历这个游标值。 在mongo shell 中返回的游标值没有赋值给 var 关键字定义的变量时会自动遍历20次并打印这头20条的文档结果,如果返回的游标值赋值给了var 关键字定义的变量时不会自动遍历这个游标结果。Tips:这里的游标返回默认结果数20可以通过 DBQuery.shellBatchSize 来修改。手动

    Aug 29, 2018 阅读(66)
    标签: MongoDB
  • MongoDB 聚合 $dateToString 时差问题解决

    存储在MongoDB中的时间是标准时间UTC +0:00,而中国时区是+8.00 由于时差的存在在使用聚合函数$dateToString时发现统计不准问题.为了重现问题,准备如下数据测试db.sales.find({}) /* 1 createdAt:2018/7/9 下午6:20:31*/ { "_id" : ObjectI

    Jul 10, 2018 阅读(600)
    标签: MongoDB
  • MongoDB 去重(distinct)查询后求总数(count)

    在使用MonoDB 做报表汇总经常的有去重统计总数的需求,在此总结一下实现方式:1, 直接使用distinct 语句查询, 这种查询会将所有查询出来的数据返回给用户, 然后对查询出来的结果集求总数(耗内存,耗时一些)var len = db.student.distinct("name",{"age" :&nb

    Jun 29, 2018 阅读(518)
    标签: MongoDB
  • Mongodb开启数据库安全验证

    默认情况下数据库是没有开启安全验证,如果想将数据库投入生产实际使用裸奔不设安全验证是很危险的。本机环境: 操作系统:Ubantu 16.04(64位) mongodb版本:3.6.3 (社区版) mongodb安装教程:Install MongoDB Community Edition on Ubuntu开启数据库安全验证步骤 1、mongodb安装成功后启动mongod 服务,然后用客户端工具连

    Apr 24, 2018 阅读(236)
    标签: MongoDB
  • Linux 系统 MongoDB 无法启动的解决方法

    本文记录MongoDB服务器无法启动解决过程:1、执行 service mongod start 启动MongoDB服务器,查询(netstat -nat | grep 27017)MongoDB监听端口结果发现没有启动成功。2、准备查询mongod日志,通过 mongod.conf 配置文件找到日志存放的路径(/var/log/mongodb/mongod.log);mongod.con

    Mar 6, 2018 阅读(1019)
    标签: MongoDB
  • MongoDB 中MapReduce的详细用法

    有些问题过于复杂,无法使用聚合框架的查询语言来表达,这时可以使用MapReduce ,MapReduce使用JavaScript作为“查询语言”,因此它能够表达任意复杂的逻辑。然而这种强大的代价是MapReduce非常慢,不应该用在实时的数据分析中。MapReduce需要几个步骤。最开始是映射(map),将操作映射到集合中的每个文档。这个操作要么“无作为”,要么“产生一些键和X个值”。然后就是中间

    Feb 27, 2018 阅读(162)
    标签: MongoDB
  • MongoDB 聚合(aggregate) — $group分组统计查询案例汇总

    聚合分组语法格式{ $group: { _id: <expression>, <field1>: { <accumulator1> : <expression1> }, ... } }_id 字段是必须要的,如果不指定字段

    Feb 13, 2018 阅读(775)
    标签: MongoDB
  • MongoDB 中数组查询

    在MongoDb有以下含数组的测试数据:db.students.insert([     { "_id" : 1, "score" : [ -1, 3 ] },     {

    Jan 12, 2018 阅读(214)
    标签: MongoDB
  • MongoDB 字符串空格截断

    MongoDB 数据库中字符串值开头或结尾有空格导致精确匹配不到数据在实际生产中偶有发生,解决这个问题常常需要将字符串值开头或结尾部分的空格截断掉,因此需要数据库中写脚本批量更新有问题的数据。订单手机号字符串开头或结尾空格截取:db.order.find({mobile:/ $/}).forEach(function(self){ db.order.update( {&qu

    Jan 10, 2018 阅读(619)
    标签: MongoDB