mongDB-- 3. 查询操作
1. 准备工作
(1)启动mongo
进入mongo安装目录的bin/ 目录 , ./mongod
(2)启动mongo客户端
./mongo
(3) 查看所有库
show dbs;
(4) 切换到lvyf库
use lvyf
(5) 查看所有的集合
show collections;
(6)从一个集合中查数据
db.first_col.find();
2. 查询
(1) 查看所有 , pretty() 作用就是格式化json数据
db.collection_name.find().pretty();
> db.first_col.find()
{ "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" }
{ "_id" : ObjectId("575e880980d09b176a58ce65"), "name" : "chenjl", "age" : 20, "sex" : "W", "address" : "http://www.chenjl.com" }
{ "_id" : ObjectId("575e889880d09b176a58ce66"), "name" : "child", "age" : 2, "sex" : "M", "address" : "http://www.child.com", "status" : "cry and laugh" }
(2) 条件查询
|
操作 |
格式 | 例子 | 对应的sql语句 |
|
等于 |
{ key : value } | {name : lvyf } | where name='lvyf' |
|
小于 |
{key : {< : value } } | {age : {< : 20 } } | where age < 20 |
|
小于或等于 |
{key : {<e : value }} | {age : {<e : 20 }} | where age <=20 |
|
大于 |
{key : { > : value }} | {age : {> : 3}} | where age > 3 |
|
大于或等于 |
{key : {>e : vlaue }} | {age : {>e : 3 }} | where age >=3 |
| 不等于 | {key : {&ne : value }} | {name : {&ne : lvyf }} |
where name !='lvyf' |
(3)and 条件
根据性别和名字查询记录 , 对应sql语句where name= 'lvyafei' and sex = 'M'
> db.first_col.find({name : "lvyafei" , sex : "M"}).pretty()
{
"_id" : ObjectId("575e879380d09b176a58ce64"),
"name" : "lvyafei",
"age" : 21,
"sex" : "M",
"address" : "http://www.lvyf.com"
}
(4) or 条件,语法
db.collection_name.find( { $or :[
{key1 : value1} , {key2 : value2 }
] } );
根据名字或者性别查询例子:
> db.first_col.find({$or : [ {name:"lvyafei" },{sex : 'M'}] })
{ "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" }
{ "_id" : ObjectId("575e889880d09b176a58ce66"), "name" : "child", "age" : 2, "sex" : "M", "address" : "http://www.child.com", "status" : "cry and laugh" }
(5) and 和 or 联合使用,相当于 where age >= 3 and ( name='lvyafei' or sex='M' )
> db.first_col.find({age : {$gte : 3}, $or:[{name:"lvyafei"} , {set : 'M'}]}).pretty()
{
"_id" : ObjectId("575e879380d09b176a58ce64"),
"name" : "lvyafei",
"age" : 21,
"sex" : "M",
"address" : "http://www.lvyf.com"
}
(6) 大于和小于联合查询,相当于 where age > 3 and age < 21
> db.first_col.find({"age" : {$lt : 21,$gt:3}})
{ "_id" : ObjectId("575e880980d09b176a58ce65"), "name" : "chenjl", "age" : 20, "sex" : "W", "address" : "http://www.chenjl.com" }
(7) $type操作符

如果要查询 name 是string 类型的记录
> db.first_col.find({name : {$type : 2}});
{ "_id" : ObjectId("575e879380d09b176a58ce64"), "name" : "lvyafei", "age" : 21, "sex" : "M", "address" : "http://www.lvyf.com" }
{ "_id" : ObjectId("575e880980d09b176a58ce65"), "name" : "chenjl", "age" : 20, "sex" : "W", "address" : "http://www.chenjl.com" }
{ "_id" : ObjectId("575e889880d09b176a58ce66"), "name" : "child", "age" : 2, "sex" : "M", "address" : "http://www.child.com", "status" : "cry and laugh" }
mongDB-- 3. 查询操作的更多相关文章
- [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进行数据写入操作的过程,本文我们再来介绍下 ...
- .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 ...
- MySQL(三) 数据库表的查询操作【重要】
序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
随机推荐
- 输入url到页面返回的过程
输入url后,你看到了百度的首页,那么这一切是如何发生的呢? 这个问题之前.最近.我想以后肯定还会被问到,或者问到这样的题目,如果在百度框里输入查询的字符串开始,是怎么返回你需要的东西呢. 那这什么个 ...
- oracle异常(-)
一.概述异常分成三大类:预定义异常.非预定义异常.自定义异常处理方法分为:直接抛出异常.内部块处理异常.游标处理异常 预定义异常:由PL/SQL定义的异常.由于它们已在standard包中预定义了,因 ...
- UNITY自带的3D object没有三角形?
有方形,圆形,圆柱,胶囊,就是没有三角形? 这里看代码如何创建mesh http://www.narkii.com/club/thread-369573-1.html http://www.taikr ...
- Linux下部署docker记录(0)-基础环境安装
以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker安装epel源[root@docker-server ~]# wg ...
- dwarf格式解析
debug_line中包含的是地址和源文件行之间的关系 我今天想搞清楚的是文件的C代码和汇编代码之间的关系: 对这块之前一直是迷迷糊糊的,发现这个问题已经严重影响到bug的定位了. 之前感觉C和汇编不 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 远程同步服务器大量基础数据到客户端
服务器上保存有上万条的基础数据,需要同步到全国各地的成千上万个客户端,而且这些基础数据也经常在有变化调整.这时候需要有一个稳定的数据同步程序,能分批同步基础数据,由于网络流量,网络的稳定性等因素,需要 ...
- 滑动控件-FlipView
<Grid> <FlipView> <FlipView.Items> &l ...
- cocos2d-x打飞机实例总结(一):程序入口分析和AppDelegate,Application,ApplicationProtocol三个类的分析
首先,是个敲代码的,基本上都知道程序的入口是main函数,显然,就算在cocos2d-x框架中也一样 我们看看main函数做了什么 #include "main.h" #inclu ...
- MyEclipse建立SpringMVC入门HelloWorld项目
一.首先,建立空的web project项目: 1. 2. 3. 二.其次,导入先关jar包 1.将jar包导入SpringMVCHelloWorld\WebRoot\WEB-INF\lib目录下 三 ...
- bzoj 2527: [Poi2011]Meteors 整体二分
给每个国家建一个链表,这样分治过程中的复杂度就和序列长度线形相关了,无脑套整体二分就可以. (最坑的地方是如果所有位置都是一个国家,那么它的样本个数会爆longlong!!被这个坑了一次,大于p[i] ...