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,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...
随机推荐
- Hibdernate入门
Hibernate中java对象的三种状态 瞬时状态(Transient):通过NEW创建对象后对象并没有立刻持久化他未与数据哭中的数据有任何关联 持久状态(Persistent):当对象与Sessi ...
- 初识Quartz(入门案例)+常用的Cron表达式
1.Quartz架构图 1.实体层 package cn.happy.entity; //1. public class Plan { //时间 private String date; //任务 p ...
- Nginx编译参数.md
Nginx 介绍 简介 Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存. ...
- 优才网Go名库讲解全套教程
教程内容:04-macaron03-goconvey02-xorm01-goconfig00-introduction 下载地址:http://www.fu83.cn/thread-322-1-1.h ...
- <转>卷积神经网络是如何学习到平移不变的特征
After some thought, I do not believe that pooling operations are responsible for the translation inv ...
- WPF实现Twitter按钮效果
最近上网看到这个CSS3实现的Twitter按钮,感觉很漂亮,于是想用WPF来实现下. 实现这个效果,参考了CSS3 原文地址:http://www.html5tricks.com/css3-twit ...
- C#基础系列——小话泛型
前言:前面两章介绍了C#的两个常用技术:C#基础系列——反射笔记 和 C#基础系列——Attribute特性使用 .这一章来总结下C#泛型技术的使用.据博主的使用经历,觉得泛型也是为了重用而生的,并且 ...
- 入门Webpack,看这篇就够了
来源于:http://www.jianshu.com/p/42e11515c10f 写在前面的话 阅读本文之前,先看下面这个webpack的配置文件,如果每一项你都懂,那本文能带给你的收获也许就比较有 ...
- ubuntu14.04 python3.*连接mysql
先下载pymysql文件,http://webscripts.softpedia.com/script/Database-Tools/PyMySQL-71606.html 我下载的是:PyMySQL- ...
- Linux 部署 nginx服务代理
原文地址:http://www.cnblogs.com/ants/p/5732337.html#_label5 参考地址:http://www.cnblogs.com/hustskyking/p/ng ...