mongdb查询操作
1、db.table.find() 查询所有信息 db.table.findOne()查询第一个信息
2、db.table.find({条件},{要显示列}) db.table.find({},{_id:0,name:0})查询不现实_id和name其他的都显示出来
3、查询条件{age:{$gte:22,$lte:30}} ==>age>=22 and age<=30
$lt(<)、$lte(<=)、$gt(>)、$gte(>=)、$ne(!=) ----db.table.find({age:{$gte:20,$lte:30}},{_id:0})
$in和$nin 只能作用于数组范围 db.table.find({name:{$in:['123','456']}},{_id:0});
$or操作用$or:[{where},{where:{}}] db.table.find({$or:[{age:{$gte:20}},{id:{$gte:100}}]},{_id:0})
$not 取返操作,可以作用任何表达式中,db.table.find({name:{$not:/li/}},{_id:0});
还可以正则处理查询 db.table.find({name:/mongodb/},{_id:0})
$all 数组查询必须全部包含db.table.find({array:{$all:['mongodb','js','java']}},{_id:0}) array中必须全部包含mongod js java才会出来
根据数组下标查询db.table.find({'array.1':'mongodb'},{_id:0}) 查询出array数组中第一个元素是mongodb的集合
$size根据数组的长度查询db.table.find({array:{$size:3}},{_id:0}) 不能和其他比较符操作 比如 > 或者<操作
但是可以在文件中添加一个key:记录数组的大小.以后数组每次添加一个元素或者减少一个元素让这个添加的key加1和减1
$slice 数组范围查询,只显示数组中的几个数组db.table.find({name:'h'},{array:{$slice:[1,3]},_id:0}) 只显示array中下标是1-3的数据
显示数组最后的一个元素{$slice:-1}db.table.find({name:'h'},{array:{$slice:-1},_id:0})
当数组中有多个对象的查询array:[{name:2},{name:1}] 可以使用对象.的方式db.table.find({'array.name':'1'},{_id:0})
$elemMatch数组的查询一般使用这个查询,db.table.find({array:{$elemMatch:{obj:'1',s:'A'}}})
4、$where 复杂的查询条件,性能不太高.查询器可以根函数db.table.find({"$where":function(){}})
5、limit() 查询文件中前几条数据db.table.find({},{_id:0}).limit(2)
6、skip() 跨跃几条也就是从几条数据开始查询db.table.find({},{_id:0}).limit(2).skip(5) 从第5条开始查,查询2条 和limit可以实现分页
7、sort()排序1正序-1倒序 db.table.find({},{_id:0}).sort({age:-1}) mongodb中的文档key是不规则的
mongodb的key可以存储不同类型数据,排序也会有优先级
最小值 > null > 数字 > 字符串 > 对象/文档 >数组 > 数组 >二进制>对象ID>boolean>日期>时间戳>正则>最大值
8、skip()分页性能问题可以在文档上添加一个日期,db.table.find({date:{$ge:日期值}},{_id:0}).limit(10)
9、游标遍历数据
游标销毁条件1、默认超过10分钟没用销毁2、游标迭代完成3、客户端发来信息销毁
var data=db.table.find();
while(data.hasNext()){
var o = data.next();
print(o);
}
10、查询快照db.table.find({$query:{name:'11'},$snapshot:true})
11、高级查询
$query、
$orderby、
$maxscn、最多扫描的文档数
$min、查询开始
$max、查询结束
$hint、使用那个索引
$explain:boolean 统计
$snapshot:boolean 一致快照
mongdb查询操作的更多相关文章
- [C#] 进阶 - LINQ 标准查询操作概述
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
- MongoDB的查询操作
1. 前言 在这篇博文中,我们将学习如何查询mongoDB中的数据.当我们把数据存储在mongoDB以后,我们需要把数据查询出来.毕竟CRUD操作中,查询操作在我们系统中是我们应用比较频繁的操作.我们 ...
- Django 1.10 中文文档------3.2.2 查询操作making queries
3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models. ...
- InfluxDB学习之InfluxDB的HTTP API查询操作
在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...
- mongDB-- 3. 查询操作
1. 准备工作 (1)启动mongo 进入mongo安装目录的bin/ 目录 , ./mongod (2)启动mongo客户端 ./mongo (3) 查看所有库 show dbs; (4) 切换到l ...
- .NET LINQ基本查询操作
获取数据源 在 LINQ 查询中,第一步是指定数据源.像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它.在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 ( ...
- MongoDB各种查询操作详解
这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...
- MongoDB查询操作限制返回字段的方法
这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下 映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...
- C#参数化执行SQL语句,防止漏洞攻击本文以MySql为例【20151108非查询操作】
为什么要参数化执行SQL语句呢? 一个作用就是可以防止用户注入漏洞. 简单举个列子吧. 比如账号密码登入,如果不用参数, 写的简单点吧,就写从数据库查找到id和pw与用户输入一样的数据吧 sql:se ...
随机推荐
- Python 爬虫(二十五) Cookie的处理--cookielib库的使用
Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持. 该模块主要功能是提供可存储cookie的对象.使用此模块捕获cookie并 ...
- 深入理解String类
1.String str = "eee" 和String str = new String("eee")的区别 先看一小段代码, public static v ...
- 机器学习-Matplotlib绘图(柱状图,曲线图,点图)
matplotlib 作为机器学习三大剑客之一 ,比热按时无比强大的 matplotlib是绘图库,所以呢我就分享一下简单的绘图方式 #柱状图 #导报 柱状图 import matplotlib. ...
- ssh-key的复制
执行ssh-keygen 生产钥 在b主机root目录创建.ssh文件夹 在a主机输入ssh-copy-id root@*.*.*.* 就把公钥复制过去了 命令:scp 不同的Linux之间copy文 ...
- (转)【OSGI】1.初识OSGI-到底什么是OSGI
原文:https://blog.csdn.net/acmman/article/details/50848595 目前,业内关于OSGI技术的学习资源或者技术文档还是很少的.我在某宝网搜索了一下“OS ...
- configure: error: You need a C++ compiler for C++ support.[系统缺少c++环境]
一.错误configure: error: You need a C++ compiler for C++ support.二.安装c++ compiler情况1.当您的服务器能链接网络时候[联网安装 ...
- 使用命令执行 sql 脚本文件
使用命令执行 sql 脚本文件 方法: 在 Windows 下使用 cmd 命令执行(或 Unix 或 Linux 控制台下)[Mysql的bin目录]\mysql –u用户名 –p密码 –D数据库名 ...
- nginx lua集成
版本说明: linux: 1.8.1 luajit:2.0.2(不要使用标准lua,应当使用luajit, 后者的效率比前者高很多) ngx_devel_kit: 0.2.18 lua-nginx-m ...
- 第一个WCF程序
WCF的服务需要寄宿在进程中,我们把服务端的叫做宿主,为服务指定宿主指定的过程叫服务寄宿.有两种方式一种是自我寄宿(Self-Hosting),一种是IIS寄宿方式.Self-Hosting我们通过一 ...
- IDEA中Git的使用基础
场景概述 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组长小张,组员小袁 场景一:小张创建项目并提交到远程Git仓库 场景二:小袁从远程Git仓库上获取项目源码 ...