• 查询所有
    sql:  select * from table_name
    mongodb:   db.getCollection('期刊论文').find({})

    如上图所示,获取期刊论文collection 下的所有 数据

  • 条件查询
    注意: 请注意选择列的数据类型
    1. journal _title = ' Nature'
    sql: select * from table_name where journal_title = 'Nature'
    mongodb: db.getCollection('期刊论文').find({"journal_title": "Nature"})

    2. volume<495:
    sql: select * from table_name where volume< 495;
    mongodb: db.getCollection('期刊论文').find({"volume":{$lt:"495"}}).pretty()

    3. volume <= 495
    sql: select * from table_name where volume<= 495;
    mongodb: db.getCollection('期刊论文').find({"volume":{$lte:"495"}}).pretty()

    4. volume >495
    sql: select * from table_name where volume> 495;
    mongodb: db.getCollection('期刊论文').find({"volume":{$gt:"495"}}).pretty()

    5. volume !=495
    sql: select * from table_name where volume!= 495;
    mongodb: db.getCollection('期刊论文').find({"volume":{$ne:"495"}}).pretty()and, or 查询

   6. and 查询:
   sql: select * from table_name where journal_title = 'Nature' and vulome> 495;
   mongodb: db.getCollection('期刊论文').find({"journal_title":"Nature","volume":{$gt:"495"}}).pretty()

   7. or 查询:
   sql: select * from table_name where journal_title = 'Nature' or vulome> 495;
   mongodb: db.getCollection('期刊论文').find({$or: [ {"journal_title":"Nature"},{"volume":{$gt:"495"}}]}).pretty()

   8. and 和 or 联合查询:
   sql: select * from table_name where volume>52 and journal_title = 'Nature' or journal_title = 'Meccanica';
   mongodb: db.getCollection('期刊论文').find({"volume":{$gt:'52'},$or: [ {"journal_title":"Nature"},{"journal_title":"Meccanica"}]}).pretty()

  • 获取数据数量
    sql: select count(*) from table_name
    mongodb: db.getCollection('期刊论文').count()

  • 分组查询
    sql: select journal_title, count(*) from table_name group by journal_title
    mongodb: db.getCollection('期刊论文').aggregate([{$group :{_id:"$journal_title", num_tutorial : {$sum:1}}}])
  • 查询指定列
    sql: sellect title from table
    Mongo:db.getCollection('coll').find({},{"title":1})

    db.getCollection('新闻资讯').aggregate([{$match:{'language':'英文',"title":{$regex:"[\u4e00-\u9fa5]"}}},{$group :{_id:"$domain", num_tutorial : {$sum:1}}}])

  • 查询存在指定列的数据
    db.getCollection('新闻资讯').find({"date":{$exists: true }})
    pymongo :  collection.find({"zh_name":{ "$exists": True }})
  • 导出数据到csv
    mongoexport -h data ip -d dataname -c collection_name --csv -f field1,field2,…… -o d:\mongodb\energy.csv
  • 排序
    在MongoDB中使用使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列

MongoDB 查询整理的更多相关文章

  1. MongoDB查询转对象是出错Element '_id' does not match any field or property of class

    MongoDB查询转对象是出错Element '_id' does not match any field or property of class   解决方法: 1.在实体类加:[BsonIgno ...

  2. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

  3. mongodb查询文档

    说到查询,我们一般就想起了关系型数据库的查询了,比如:order by(排序).limit(分页).范围查询(大于某个值,小于某个值..,in查询,on查询,like查询等待很多),同样mongodb ...

  4. [转]mongodb 查询条件:关系运算符"$lt", "$lte", "$gt", "$gte", "$ne" 逻辑运算符"$and“, "$or“, "$nor“

    mongodb 查询条件   这节来说说mongodb条件操作符,"$lt", "$lte", "$gt", "$gte" ...

  5. Mongodb查询的用法,备注防止忘记

    最近在用这个东西,为防止忘记,记下来. 集合简单查询方法 mongodb语法:db.collection.find()  //collection就是集合的名称,这个可以自己进行创建. 对比sql语句 ...

  6. mongodb查询关于大于小于的用法;

    mongoDB查询操作符: http://www.runoob.com/mongodb/mongodb-operators.html 项目中需要的场景是这样的,每个人每天只能领取一张明信片,换句话说, ...

  7. MongoDB查询分析

    MongoDB 查询分析可以确保我们建立的索引是否有效,是查询语句性能分析的重要工具.MongoDB 查询分析常用函数有:explain() 和 hint(). 1. explain(): 提供查询信 ...

  8. 【mongodb系统学习之十】mongodb查询(一)

    十.mongodb查询:find ;查询时条件中不能引用文档中其他键的值: 1).查询数据库全部数据:语法db.collectionName.find();默认只显示前20条,如图: 2).按条件查询 ...

  9. MongoDb进阶实践之三 MongoDB查询命令详述

    一.引言           上一篇文章我们已经介绍了MongoDB数据库的最基本操作,包括数据库的创建.使用和删除数据库,文档的操作也涉及到了文档的创建.删除.更新和查询,当然也包括集合的创建.重命 ...

随机推荐

  1. 半夜思考, 为什么建议重写 equals() 方法时, 也要重写 hashCode() 方法

    我说的半夜, 并不是真正的半夜, 指的是在我一个人的时候, 我会去思考一些奇怪的问题. 要理解 hashCode() 需要理解下面三个点: hash契约 哈希冲突 哈希可变 第一点: hash 契约指 ...

  2. Flyway学习笔记

    Flyway做为database migration开源工具,功能上像是git.svn这种代码版本控制.google搜索database migration,或者针对性更强些搜索database mi ...

  3. linux下安装jenkins

    我们不用离线安装方式 第一步.必须验证java环境 第二步.我们这里使用yum命令进行在线安装,使用service命令进行启动 1.wget -O /etc/yum.repos.d/jenkins.r ...

  4. 【Java并发编程】之八:多线程环境中安全使用集合API

    在集合API中,最初设计的Vector和Hashtable是多线程安全的.例如:对于Vector来说,用来添加和删除元素的方法是同步的.如果只有一个线程与Vector的实例交互,那么,要求获取和释放对 ...

  5. [BZOJ2095][Poi2010]Bridges 最大流(混合图欧拉回路)

    2095: [Poi2010]Bridges Time Limit: 10 Sec  Memory Limit: 259 MB Description YYD为了减肥,他来到了瘦海,这是一个巨大的海, ...

  6. [bzoj1875][SDOI2009] HH去散步 [dp+矩阵快速幂]

    题面 传送门 正文 其实就是让你求有多少条长度为t的路径,但是有一个特殊条件:不能走过一条边以后又立刻反着走一次(如果两次经过同意条边中间隔了别的边是可以的) 如果没有这个特殊条件,我们很容易想到dp ...

  7. LINUX第四周学习

    <Linux内核设计与实现>第四周读书笔记——第五章 5.1 与内核通信57 系统调用在用户空间进程和硬件设备之间添加了一个中间层,该层主要作用有三个: 首先它为用户空间提供了一种硬件的抽 ...

  8. 【数学】【P5150】 生日礼物

    Description 给定 \(n\),求 \[\sum_{i}~\sum_j~[lcm(i,j)~=~n]\] input 一行一个整数代表 \(n\) Output 一行一个整数代表答案 Hin ...

  9. Long与long的区别

    Java的数据类型分两种:1.基本类型:long,int,byte,float,double,char2. 对象类型(类): Long,Integer,Byte,Float,Double,Char,S ...

  10. Html和websocket初识

    一.web框架 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def handle_request(c ...