左手Mongodb右手Redis 第三章mongdb操作
mongodb查询操作
1.查询操作
db.getCollection('example_data_1').find({}) 查询所有的信息,相当于mysql中的select * from table_name;
2.查询特定条件的就需要在
db.getCollection('example_data_1').find({})中find({})中大括号中设定条件
# 查询在集合example_data_1中,年龄在21和25之间的信息。
db.getCollection('example_data_1').find({'age':{'$lt':25,"$gt":21}})
$lt -->less than --> 小于
$gt-->great than -->大于
$lte -->less than and equal -->小于等于
$gte -->great than and equal -->大于等于
$ne --> not equal -->不等于
记住英文就很好记住这些表达式
db.getCollection('example_data_1').find({‘title’:"第一章"}) ,查询条件是通过字典类型设置条件。查询title等于第一章的所有信息。
3.如过要限定字段,格式为:
db.getCollection("example_data_1").find(用于过滤记录的字典,用于限定字段的字典),其中用于限定字段的字典的key为各个字段名,值只有两个,0或1.
举例子:
db.getCollection('example_data_1').find({})
查询数据集example_data_1,但不返回“address”和“age”字段,查询语句如下:
db.getCollection('example_data_1').find({},{‘address’:0,"age":0})
4.查询数据又多少条数据
db.getCollection('example_data_1').find({}).count() # 得到查询数据有多少条
5.限定返回结果,limit()
db.getCollection('example_data_1').find({}).limit(限制返回的条数)
db.getCollection('example_data_1').find({}).limit(2)
6 对查询的结果进行排序 sort()
db.getCollection('example_data_1').find({'age':"$gt":21}).sort({"字段名":-1/1}) 其中-1表示倒序,1表示正序。
7 修改数据
update操作,对应的MongoDB命令为updateOne()或updateMany()
区别:
updateOne():只更新第一条满足要求的数据。
updateMany():更新所有满足要求的数据。
db.getCollection('example_data_1').updateMany(
参数1:查询语句的第一字典,
(‘$set’:{'字段1':“新的数值1”,“字段2”:“新的数值2”})
)
updatemany()第一个参数和find()参数一样,是一个字典,用来寻找所有需要被更新的记录。
db.getCollection("example_data_1").updateMany({"name":"张小二"},{"$set":{"work":"工程师"}})
8删除数据
要从example_date_1中删除字段“hello”值为world的这一条记录。
8.1 从集合中删除单条数据
8.2 从集合中删除多条数据。只要会查询数据,就会删除数据,为了误删除数据,一般做法都是先查询要删除的数据,,然后再将查出的数据删除。
db.getCollection('example_data_1').find({"hello":"world"})
先查询出需要删除的数据
再把find修改为deleteOne,只删除第一条满足要求的数据,或者把find修改为deleteMany,如果要删除所有满足要求的数据。
在返回的数据中,”acknowledged“:true 表示删除成功,deletedCount:表示一共删除几条数据。

再次查询

没有数据。
AttentionsPlease
一般工程会使用”假删除“,为数据增加”deleted“字段,如果为0表示没有删除,值为1为已经删除。
9 去重操作,和mysql使用相同的关键字distinct()
db.getCollection("example_data_1").distinct("age")
对特定条件数据去重
db.getCollection("example_data_1").distinct("age",{‘age’:{"$gte":10}})
左手Mongodb右手Redis 第三章mongdb操作的更多相关文章
- 左手Mongodb右手Redis redis操作
set key value 设置key的值 get key 取得key的值 decr key 值会减一 incr key 值会加一 decrby key value ,会让key的值减少value. ...
- 左手Mongodb右手Redis 第一章,进入Mongodb和Redis的世界
---恢复内容开始--- 1,为什么要使用非关系型数据库,关系型数据库咋滴,不能用嘛? 存在即合理,非关系型数据库的出现,那说明关系型数据库不适用了. 非关系型数据库(NOSQL)-->Not ...
- 左手Mongodb右手Redis
第二章,了解Mongodb保存数据 Mongodb对于每次插入的数据没有要求,字段可以随便变动,字段类型可以随意变动. Mongodb可以并发插入上万条文档,这是传统关系型数据库不能望其项背的. 1. ...
- 左手Mongodb右手Redis 通过python连接mongodb
首先需要安装第三方包pymongo pip install pymongodb """ 通过python连接mongodb数据库 首先需要初始化数据库连接 "& ...
- 第三章 JavaScript操作BOM对象
第三章 JavaScript操作BOM对象 一.window对象 浏览器对象模型(BOM)是javascript的组成之一,它提供了独立与浏览器窗口进行交换的对象,使用浏览器对象模型可以实现与HT ...
- 2 python第三章文件操作
1.三元运算 三元运算又称三目运算,是对简单的条件语句的简写,如: 简单条件语句: if 条件成立: val = 1 else: val = 2 改成三元运算: val = 1 if 条件成立 els ...
- jQuery 实战读书笔记之第三章:操作 jQuery 集合
创建新 HTML 元素 $('<div>Hello</div>'); /* 创建等价的空 div 元素 */ $('<div>'); $('<div /> ...
- JQuery制作网页—— 第三章 JavaScript操作DOM对象
1. DOM:Document Object Model(文档对象模型): DOM操作: ●DOM是Document Object Model的缩 ...
- 第三章 JavaScript操作Dom对象
常用的方法: 1.访问节点: 通过Document.getElementByXXX()获得一个指定节点-->再通过以下属性节点访问节点:第一部分:节点属性a:parentNode 返回节点的父节 ...
随机推荐
- Buy Tickets 【POJ - 2828】【线段树】
题目链接 有N次操作,每次都是将第i个数放置在第pos个数的后面,并且这个数的值是val. 这个线段树的思维确实很好,我们可以发现,后面放进去的数,一定是强制位置的,而前面放的数,会随着后面的数进入而 ...
- HashMap -双列集合的遍历与常用的方法
package cn.learn.Map; /* java.util.Hashtable<k,y> implements Map<k,v> 早期双列集合,jdk1.0开始 同步 ...
- 2.openshift授权策略和scc理解
policy管理概念 查看policy的方式可以通过cli进行查看 Roles grant various levels of access in the system-wide cluster po ...
- proxool连接池配置方法
proxool.properties: jdbc-1.proxool.alias=test #jdbc-1.proxool.driver-class=com.mysql.jdbc.Driver #jd ...
- P2944 [USACO09MAR]地震损失2Earthquake Damage 2(网络流)
P2944 [USACO09MAR]地震损失2Earthquake Damage 2 $P$个点,$C$条双向边.求最少删去几个点使$N$个给定的点与点$1$分开. 显然的最小割. 将点$i$套路地拆 ...
- NGUI的下拉框的使用(popup list script)
一,我们先添加一个sprite,选择sprite,右键选择attach,添加box collider, 然后右键选择attach,添加popup list script ,我们给popup list ...
- JSON —— 数据结构
1.什么是 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写 JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C ...
- Swoole 简单学习(2)
Swoole 简单学习(2) swoole之tcp服务器: //创建tcp服务器new swoole_server(string $host,int $port,int $mode=SWOOLE_PR ...
- 【LeetCode+51nod】股票低买高卖N题
[121]Best Time to Buy and Sell Stock (2018年11月25日重新复习) 给一个数组代表股票每天的价格,只能有一次交易,即一次买入一次卖出,求最大收益. 题解:用一 ...
- 消费者与生产者---LinkedList方式模拟
采用LinkedList数据结构方式来模拟消费者与生产者模型,小Demo import java.util.LinkedList; public class MyQueue { private fin ...