mongo 查询总结】的更多相关文章

Mongo 查询   mongo js 遍历 db.getCollection('CPU').find({}).limit(100).sort({"time":-1}).forEach(function(a){    a["v"]=(new Date(a["time"]).toString());    printjson((a["v"]))    })   mongo 聚合 db.CPU.aggregate({    $gr…
Mongo查询百万级数据  使用分页  skip和limit 效率会相当慢   那么怎么解决呢  上代码 全部查询数据也会特别慢 Criteria criteria = new Criteria();List<Criteria> params = new ArrayList<>();params.add(Criteria.where("is_deleted").is(0));params.add(Criteria.where("is_pop"…
话说今天的一个小小的查询失误给了我比较深刻的教训,也让我对mongo有了更深刻的理解,下面我们来说说这个事情的原委: 我们经常使用阿里云子账号在DMS上查询线上数据库数据,今天也是平常的一次操作 集合: XXXX_message数据量约 600万 我执行了下面的mongo查询: db.XXXX_message.find({"channel_id": "1000000009XXXX700XXXX"}).limit(20); 但是上述语句中的 "channel…
背景 最近做了几个规则逻辑.用到mongo查询比较多,就是查询交易信息跑既定规则筛选出交易商户,使用聚合管道进行统计和取出简单处理后的数据,用SQL代替业务代码逻辑的判断. 方法 MongoDB聚合使用aggregate,聚合管道采取自动向下子执行方式,基本语法格式: db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION) 聚合框架中常用的操作: $project:修改输入文档的结构.可以用来重命名.增加或删除域,也可以用于创建计算结果以及嵌套文档.…
需求 在写小工具的时候,经常遇到需要从mongodb 里面查东西来用,因为要跟其他bash 工具链结合在一起用,所以最理想的方法是能够在shell 上执行查询,然后pipe 给接下来的工具做处理. 方案 幸运的是对于mongo 来说做起来是很方便的,只需要使用mongo --eval 即可.例1: mongo /mybase --eval 'printjson(db.tasks.findOne())' 这段脚本首先链接上地址为192.168.1.2:27060 的mongodb 服务器,然后在m…
1,mongo 不支持特殊where条件(&,|) 2,mongo 可以连接mysql的表查询,但不支持连表的where查询…
/ali/mongodb/bin/mongo -u user -p '123456' 127.0.0.1:27017/KYElog ISODate方式 db.col_02.find({"LogDT":{$gte:new Date("2018-02-06T01:16:33.303Z")}}) Date方式 db.xxx.find({"updateTime" : {$gte:new Date(2016,11,1)}}) 查询2月9日前的数据并升序排列…
昨天 去面试来着, 问了一下mong . 我记得mong支持 地理位置索引的,说了一下. 然后 面试官说 查询某个点 的 多少米范围, 这个该怎么实现? 我懵逼了.... 回去 查询了一下. 发现有 测试数据(度量有啊) //BsonElement bsonele = new BsonElement("address","南京 中华门"); /* * 创建测试数据: db.mapinfo.insert({"address" : "南京…
由于刚刚接触mongodb,很多语法还不是很了解,写的不好的地方请大佬指出 查询的demo数据 { "_id":Object("xxxxxxxx"), "contentList":[ "id":"xxxx", "type":2 ], [ "id":"xxxx", "type":2 ] } 查询方法,使用聚合aggregate查询…
1.新建一个js文件,将查询方法写进去,如dump.js,文件内容如下 var c = db.campaign.find({status:1}).limit(5) while(c.hasNext()) { printjson(c.next()); } 2.输入命令来执行 mongo $ip@$port/$db dump.js>result.js 这样查询的结果就会直接生成在当前文件夹下的result.js文件 -------------------------------------------…
可以将简单的单表查询语句转换成Mongo过滤条件 列: 1. db.demo.aggregate([ {"$match": {"$and": [{"person": {"$regex": "^.*z$", "$options": "i"}}, {"score": {"$gte": 80, "$lte": 10…
db.users.find() select * from users db.users.find({"age" : 27}) select * from users where age = 27 db.users.find({"username" : "joe", "age" : 27}) select * from users where "username" = "joe" and…
这里主要是讲MongoDB在控制台中如何进行高级查询. 还有一句想提醒大家,多动手实验,才是硬道理. <,>,>=,<= 这四个就不用解释了,最常用的,也是最简单的. db.collection.find({ "field" : { $gt: value } } )   // 大于  : field > value db.collection.find({ "field" : { $lt: value } } )   // 小于  : …
查询course表中,存在lectures_count字段的记录信息 db.course.find( { "lectures.lectures_count": { $exists: true } } ) 删除course表中,所有的lectures.lectures_count字段 db.course.update({},{$unset:{"lectures.lectures_count":""}},{multi:true}) 根据条件往表里插入…
首先,我们先向集合(collections)中添加测试文档(documents).如下: > for(i=1;i<=5;i++) db.test.insert({x:i,y:i*i,z:6-i})WriteResult({ "nInserted" : 1 }) 1.下面查看我们插入的数据: > db.test.find(){ "_id" : ObjectId("59361be7c718d6f408c6cae5"), "…
首先这是一个很奇葩的需求,时间紧迫顺手胡写了一个,以后看看有没有好的思路 def and_(item_list): return "%s:[%s]" % ("$and", ','.join(loop_func(item_list))) def or_(item_list): return "%s:[%s]" % ("$or", ','.join(loop_func(item_list))) def lt(a, b): retu…
distinct MongoDB 的 distinct 命令是获取特定字段中不同值列表的最简单工具. 该命令适用于普通字段.数组字段以及数组内嵌文档(集合对象). db.getCollection('customer').distinct("customer_type") // chances字段的值是个集合,获取集合内每个对象的opportunitytype字段的值域 db.getCollection('customer').distinct("chances.opport…
db.test.aggregate( {'$match':{"url":/http:\/\/www.baidu.cn\/member\/T107581\//}}, {'$group':{'_id':'$ip','count':{'$sum':1}}}, {'$skip':100}, {'$out':'201702'} ) 如果需要查看返回分组的数量时,可以用一个变量去接收,然后打印长度. var rel= db.hyyy.aggregate( {'$match':{"_id&…
mongo官网:http://www.mongodb.org/ 工作中使用到Mongo,可是没有系统的学习研究过Mongo,仅对工作过程中,在Mongo的使用过程中的一些知识点做一下记录,并随时补充,达到总结备忘的目的. 本篇主要终结记录聚合和查询. 聚合(aggregation) Count db.view_view.count() db.view_view.count({_id:"521842"}) db.view_view.find().count() db.view_view.…
nosql数据库能解决关系型数据库遇到的性能和扩展性的问题,本博客将以mongodb和redis两种nosql数据库为基础,简单的介绍下面两个业务场景的解决方案: 1.查询排行榜(以当日总步数排名为例,查询排名前200的用户): 2.统计活跃用户数(统计某个移动端app软件在各个下载渠道的活跃设备数,以起始时间,版本号,系统类型等作为查询条件). 项目源码url:https://github.com/zhzhair/spring-boot-nosql.git. 运行环境很简陋:window10,…
数据方案: 在Elasticsearch中通过code及time字段查询对应doc的mongo_id字段获得mongodb中的主键_id 通过获得id再进入mongodb进行查询   1,数据情况: 全部为股票及指数的分钟K线数据(股票代码区分度较高) Elasticsearch及mongodb都未分片且未优化参数配置,mongo表中只有主键_id索引 mongodb数据量: Elasticsearch数据量: 2,将数据从mongo源库导入Elasticsearch import time f…
以下是一个mongo查询的综合应用,即介绍一个生产中实际应用的模糊查询,当然其实也很简单,主要用到mongo中的模糊查询和$or查询,以及并的关系,下面是一个mongo中的一条记录 { "_id" : "ffe6a068-9043-4334-97d2-75387340e655", "file_id" : "ffe6a068-9043-4334-97d2-75387340e655", "name" : &qu…
编写mongo查询语句到 find.js db.xxx.find( {status:1,publisherId:0 , appDesc: {$in: [ /.*privacy .*/ ,/.*kika.*/ ,/.*flash.*/ ] } }, {pkgName:1 , capId:1 ,_id:0 }).forEach( function(cap){ print(cap.capId, " " , cap.pkgName) } ) 然后mongo  ip/dbname   find.…
前言 最近闲的时间有点多,所以还是写博客吧. 有人说Mongo 2.0的写法难以把控,好多地方不知道咋用,所以坚持用1.0(不愿意去尝试2.0),我感觉不可理解.所以写篇博客比较下. Mongo C#驱动1.0到2.0设计方面的差别非常大. 正文 先说1.0吧,更像是Mongo 各功能的直译,所以写法与mongo原生查询修改等比较类似,易上手.但是设计上确实存在很多问题.简单说几点: a.在query的构建方面,虽然有问题,但是勉强能接受 var modelCursor = collection…
一.简述 MongoDB中使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.默认情况下,"_id"这个键总是被返回,即便是没有指定要返回这个键.("_id"是一个集合中每个文档的唯一标识) 查询的使用上有限制,传递给数据库的查询文档必须是常量.(当然,在你的代码里可以是正常的变量) 一个键可以有任意多个条件,但是一个键不能对应多个更新修改器. 条件语句是内层文档的键,而修改器是外层文档的键. 二.使用find或者findOn…
基本查询  db.getCollection('chdr').find({chdrnum:"test123456"}) lookup关联查询 db.getCollection ( ' chdr ' ) . aggregate  ( [ { " $lookup " : { " localField" : "chdrnum" , "as" : "y" , "foreignField…
最近事情比较多,本篇文章算是把遇到的问题杂糅到一起了. 背景:笔者最近在写一个mongo查询小程序,由于建立索引时字段名用大写,而查询的时候用小写. 代码如下: db.getCollection("xxx.aa").find({second_email:"/^mylove_foryou@qq.com/"}) 1200万的数据,第一次执行耗时:43.741秒,这在正式环境肯定是不允许的. 通过查询执行计划,发现并没有使用时索引,导致查询的时候很慢. 笔者在mongo3…
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(BasicDBList.BasicDBObject.Criteria等) 1.application.properties 1 #mongodb note:mongo3.x will not use host and port,only use uri 2 #spring.data.mongodb.hos…
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(BasicDBList.BasicDBObject.Criteria等) 1.application.properties #mongodb note:mongo3.x will not use host and port,only use uri #spring.data.mongodb.host=19…