• MongoDB 数组类型查询 —— $elemMatch 操作符

    描述$elemMatch 数组查询操作用于查询数组值中至少有一个能完全匹配所有的查询条件的文档。语法格式如下:{ <field>: { $elemMatch: { <query1>, <query2>, ... } } }如果只有一个查询条件就没必要使用

    Oct 21, 2019 阅读(105)
    标签: MongoDB
  • MongoDB 自动删除集合中过期的数据——TTL索引

    简介TTL (Time To Live, 有生命周期的) 索引是特殊单字段索引,MongoDB可以用来在一定时间后自动从集合中删除文档的特殊索引。 这对于某些类型的数据非常好,例如机器生成的事件数据,日志和会话信息,这些信息只需要在数据库中保留一段时间。 创建 TTL 索引,只需要在使用 db.collection.createIndex() 方法,对字段值为日期或者包含日期的数组设

    Sep 30, 2019 阅读(163)
    标签: MongoDB
  • MongoDB 谨防索引 seeks 的效率低下

    背景最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException。开发同学一开始希望通过调整 MongoDB Java Driver 的超时参数来规避这个问题。但经过详细分析之后,

    Sep 17, 2019 阅读(120)
    标签: MongoDB 性能优化
  • MongoDB ObjectId 隐藏了那些重要信息

    描述ObjectId(<hexadecimal>) 参数选填,24位16进制的数字。返回一个新的 ObjectId 值,其中12字节ObjectId 由以下部分组成:4个字节时间戳(24位中的前8位16进制的数字)。5个字节的随机数(3字节机器码+2字节进程id)。3个字节的基于随机数的计数器。ObjectId 实际上它是由一组十六进制的字符构成,每个字节两位的十六进制数字,总共用了12字

    Sep 6, 2019 阅读(127)
    标签: MongoDB Java
  • MongoDB 字符串字段拼接 $concat(aggregation)

    $concat拼接字符串操作,返回拼接后的字符串。语法格式如下:{ $concat: [ <expression1>, <expression2>, ... ] }参数可以是任何有效的表达式,只要它们解析为字符串即可。 有关表达式的更多信息,请参阅表达式。 示例准备以下测试数据:db.inven

    Sep 4, 2019 阅读(214)
    标签: MongoDB
  • MongoDB 日期字段间比较

    在实际使用 MongoDB 中难免会遇到比较文档中字段和字段间的比较查询,在MongoDB 中 $where 关键字可以实现字段间的比较,实例如下:// 查询文档中 create_date、last_modify_date 年月相同的数据 db.user.find({"$where":"this.create_date.getYear()

    Jan 28, 2019 阅读(295)
    标签: MongoDb
  • NoSQLBooster for MongoDB 中跨库关联查询

    使用 MongoDB 是我们常常会遇到一些特殊的需求需要跨库关联查询,比如订单明细缺商品重量需要补商品重量,而商品重量数据又在商品库中,这事就需要跨库关联操作,示例代码如下:// 使用 order 库,注意语句后面不要加分号 use order var count = 0; db.order_detail.find({

    Jan 4, 2019 阅读(916)
    标签: MongoDB
  • Tomcat、JDK、MongoDB 历史版本下载地址

    Tomcat 历史版本下载地址http://archive.apache.org/dist/tomcat/JDK 历史版本下载地址https://www.oracle.com/technetwork/java/javase/archive-139210.html MongoDB 历史版本下载地址

    Dec 10, 2018 阅读(373)
    标签: Tomcat JDK MongoDB
  • MongoDB update 更新命令汇总

    Update 更新命令//写法一 db.collection.update( <query>, <update>, upsert, multi ); //写法二 db.collection.update(    <query>,    <upda

    Nov 22, 2018 阅读(1150)
    标签: MongoDB
  • MongoDB查询性能分析—— explain 操作返回结果详解

    MongoDB 提供 db.collection.explain(), cursort.explain() 及 explain 命令获取查询计划及查询计划执行统计信息。explain 结果将查询计划以阶段树的形式呈现。 每个阶段将其结果(文档或索引键)传递给父节点。 叶节点访问集合或索引。 中间节点操纵由子节点产生的文档或索引键。 根节点是MongoDB从中派生结果集的最后阶段。阶段操作

    Nov 9, 2018 阅读(773)
    标签: MongoDB 性能优化