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查询操作的更多相关文章

  1. [C#] 进阶 - LINQ 标准查询操作概述

    LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...

  2. MongoDB的查询操作

    1. 前言 在这篇博文中,我们将学习如何查询mongoDB中的数据.当我们把数据存储在mongoDB以后,我们需要把数据查询出来.毕竟CRUD操作中,查询操作在我们系统中是我们应用比较频繁的操作.我们 ...

  3. Django 1.10 中文文档------3.2.2 查询操作making queries

    3.2.2 查询操作 6.15章节包含所有模型相关的API解释. 后面的内容基于如下的一个博客应用模型: from django.db import models class Blog(models. ...

  4. InfluxDB学习之InfluxDB的HTTP API查询操作

    在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...

  5. mongDB-- 3. 查询操作

    1. 准备工作 (1)启动mongo 进入mongo安装目录的bin/ 目录 , ./mongod (2)启动mongo客户端 ./mongo (3) 查看所有库 show dbs; (4) 切换到l ...

  6. .NET LINQ基本查询操作

    获取数据源      在 LINQ 查询中,第一步是指定数据源.像在大多数编程语言中一样,在 C# 中,必须先声明变量,才能使用它.在 LINQ 查询中,最先使用 from 子句的目的是引入数据源 ( ...

  7. MongoDB各种查询操作详解

    这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下   一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...

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

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

  9. C#参数化执行SQL语句,防止漏洞攻击本文以MySql为例【20151108非查询操作】

    为什么要参数化执行SQL语句呢? 一个作用就是可以防止用户注入漏洞. 简单举个列子吧. 比如账号密码登入,如果不用参数, 写的简单点吧,就写从数据库查找到id和pw与用户输入一样的数据吧 sql:se ...

随机推荐

  1. .NET Entity Framework (with Oracle ODP.NET) -Code First

    上一篇文章介绍了.NET Entity Framework ,并演示了Model First模式,本文将继续讨论 Code First 模式的实现. 一.摘要 1.目标 本文验证了通过Oracle D ...

  2. iis支持asp.net4.0的注册命令使用方法

    32位的Windows: 1. 运行->cmd 2. cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 3. aspnet_regiis.exe ...

  3. 【转】OAuth2.0的refresh token

    转载自http://www.html-js.com/?p=1297 最近看人人网的OAuth认证,发现他是OAuth2.0,之前一直看的是新浪的OAuth,是OAuth1.0. 二者还是有很多不同的, ...

  4. sam(后缀自动机)

    后缀自动机ins解释 void ins(int c){ int p=last;//将当前节点的parent节点变为last int np=++cnt;//建立新节点 last=np;//将last设为 ...

  5. [NOI2017]蔬菜(贪心)

    神仙题啊! 早上开了两个多小时,终于肝出来了,真香 我们考虑从第 \(10^5\) 天开始递推,先生成 \(p=10^5\) 的解,然后逐步推出 \(p-1,...,2,1\) 的解. 那怎么推出 \ ...

  6. 控制台API函数----HANDLE、SetConsoleCursorPosition、SetConsoleTextAttribute

    控制台API函数 调用相关文本界面控制的API函数,这些函数可分为三类. 一.用于控制台窗口控制的函数(包括窗口的缓冲区大小.窗口前景字符和背景颜色.窗口标题.大小和位置等): 二.用于控制台输入输出 ...

  7. 模拟ssh、黏包、hashlib模块

    一.模拟ssh 1.subprocess模块 ipconfig -all dir subprocess模块是python从2.4版本开始引入的模块.主要用来取代 一些旧的模块方法,如os.system ...

  8. Shell - 简明Shell入门03 - 字符串(String)

    示例脚本及注释 #!/bin/bash str="Shell" str2="Hello $str !" str3="Hello ${str} !&qu ...

  9. C#递归方法遍历目录及子目录

    众所周知,获得某一目录下第一级的所有文件和文件夹列表,很容易办到:DirectoryInfo di=new DirectoryInfo(strBaseDir);//strBaseDir是起始目录,绝对 ...

  10. Identity Server4学习系列三

    1.简介 在Identity Server4学习系列一和Identity Server4学习系列二之令牌(Token)的概念的基础上,了解了Identity Server4的由来,以及令牌的相关知识, ...