MongoDB 查询整理
- 查询所有
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 查询整理的更多相关文章
- 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 ...
- MongoDB查询操作限制返回字段的方法
这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下 映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...
- mongodb查询文档
说到查询,我们一般就想起了关系型数据库的查询了,比如:order by(排序).limit(分页).范围查询(大于某个值,小于某个值..,in查询,on查询,like查询等待很多),同样mongodb ...
- [转]mongodb 查询条件:关系运算符"$lt", "$lte", "$gt", "$gte", "$ne" 逻辑运算符"$and“, "$or“, "$nor“
mongodb 查询条件 这节来说说mongodb条件操作符,"$lt", "$lte", "$gt", "$gte" ...
- Mongodb查询的用法,备注防止忘记
最近在用这个东西,为防止忘记,记下来. 集合简单查询方法 mongodb语法:db.collection.find() //collection就是集合的名称,这个可以自己进行创建. 对比sql语句 ...
- mongodb查询关于大于小于的用法;
mongoDB查询操作符: http://www.runoob.com/mongodb/mongodb-operators.html 项目中需要的场景是这样的,每个人每天只能领取一张明信片,换句话说, ...
- MongoDB查询分析
MongoDB 查询分析可以确保我们建立的索引是否有效,是查询语句性能分析的重要工具.MongoDB 查询分析常用函数有:explain() 和 hint(). 1. explain(): 提供查询信 ...
- 【mongodb系统学习之十】mongodb查询(一)
十.mongodb查询:find ;查询时条件中不能引用文档中其他键的值: 1).查询数据库全部数据:语法db.collectionName.find();默认只显示前20条,如图: 2).按条件查询 ...
- MongoDb进阶实践之三 MongoDB查询命令详述
一.引言 上一篇文章我们已经介绍了MongoDB数据库的最基本操作,包括数据库的创建.使用和删除数据库,文档的操作也涉及到了文档的创建.删除.更新和查询,当然也包括集合的创建.重命 ...
随机推荐
- GCC 提供的原子操作
gcc从4.1.2提供了__sync_*系列的built-in函数,用于提供加减和逻辑运算的原子操作. 其声明如下: type __sync_fetch_and_add (type *ptr, typ ...
- python3+selenium 牛刀小试
# coding:utf-8 # __author__ = 'Carry' import unittest from selenium import webdriver import time cla ...
- [Offer收割]编程练习赛23-freeloop
A. H国的身份证号码I dfs裸题. 时间复杂度\(O(n^k)\). #include <bits/stdc++.h> #define FOR(i,a,b) for (int i=a; ...
- 【Java并发编程】之六:Runnable和Thread实现多线程的区别
Java中实现多线程有两种方法:继承Thread类.实现Runnable接口,在程序开发中只要是多线程,肯定永远以实现Runnable接口为主,因为实现Runnable接口相比继承Thread类有如下 ...
- BZOJ5324 JXOI2018守卫(区间dp)
对于每个区间[l,r],显然右端点r是必须放置守卫的.考虑其不能监视到的点,构成一段段区间.一个非常显然但我就是想不到的性质是,对于这样的某个区间[x,y],在(y+1,r)内的点都是不能监视到这个区 ...
- c语言宏定义#define
1. 利用define来定义 数值宏常量 #define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎.它可以出现在代码的任何地方,从本行宏定义开始,以后的代码就就都认 ...
- 【XSY1759】Alice and Bob
Description XSY1759 Solution 肯定是离线对每个子树求答案. 考虑对每个子树建出所包含的值的Trie树,这点用启发式算法实现即可,即每个元素会被插入\(\mathcal O( ...
- 【BZOJ3105】【CQOI2013】新Nim游戏
Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴.可以只拿一根,也可以拿走整堆火柴 ...
- BZOJ4727 [POI2017]Turysta 【竞赛图哈密顿路径/回路】
题目链接 BZOJ4727 题解 前置芝士 1.竞赛图存在哈密顿路径 2.竞赛图存在哈密顿回路,当且仅当它是强联通的 所以我们将图缩点后,拓扑排序后一定是一条链,且之前的块内的点和之后块内的点的边一定 ...
- linux内核分析综合总结
linux内核分析综合总结 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 ...