MongoDB 学习手册 - CURD
mongoDB 增加数据
// mongoDB 增加数据:
//新增数据insert( 字典 ) 表示插入一条数据,insert([字典]) 表示插入多条数据
// db.text01.insert([
// {'name':"小智",'sex':'男',"ID":""},
// {'name':"小梁",'sex':'女',"ID":""},
// {'name':"小龟",'sex':'男',"ID":""}]) //插入一条数据
// db.text01.insertOne()
//插入多条数据(数据为列表集)
// db.text01.insertMany([
// {'name':"anec3",'sex':'男',"ID":""},
// {'name':"小美",'sex':'女',"ID":""},
// {'name':"小华",'sex':'男',"ID":""}]) //第二种增加数据的方式: save()
// var do2 = [{'name':"小前",'sex':'男',"ID":""},{'name':"小成",'sex':'女',"ID":""}]
// db.text01.save(do2)
mongoDB 修改数据:
// mongoDB 修改数据:
// 语法格式:
// db.collection.update(
// <query>, //update的查询条件,类似sql update查询内where后面的。
// <update>, //update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的.
// {
// upsert: <boolean>, //可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
// multi: <boolean>, //可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
// writeConcern: <document> //可选,抛出异常的级别
// }
// ) // 更新name = '小成' ID = '' 的一条记录:
// db.text01.update({"name":'小成'},{$set:{"ID":""}}); // 更新全部 name以'小'开头的数据ID=000000000000.
// db.text01.update({"name":/^小/},{$set:{"ID":""}},false,true); // 为没有count的字段 添加一个count=50字段,
// db.a1.update(
// {"count":{$exists : false}},
// {"$set":{"count" : 50}},
// false,
// true
// )
mongoDB 删除数据
// mongoDB 删除数据:(emove()方法)
// 语法结构:
// db.collection.remove(
// <query>, //删除的文档的条件。
// {
// justOne: <boolean>, //(可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
// writeConcern: <document> //(可选)抛出异常的级别。
// }
// ) // 删除匹配的记录
// db.text01.remove({'name':"小成"}) // 删除一条匹配的记录
// db.text01.remove({'sex':"女"},true) // 删除所有记录
// b.text01.remove({}) // remove() 方法 并不会真正释放空间。
// 需要继续执行 db.repairDatabase() 来回收磁盘空间。
// db.repairDatabase() // 官方建议使用:
// db.text01.deleteOne({'name':'anec'})
// db.text01.deleteMany()
mangoDB 查询语法
// ------------------------------------------------------------ // mangoDB 查询语法:
// db.collection.find(
// query, //可选,使用查询操作符指定查询条件
// projection //可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
// ) //显示指定字段(id 要加下划线)
// db.a1.find({},{_id:0,name:1,sex:1}).pretty() //排除不显示的字段
// db.a1.find({},{ID:0,count:0} ) // 以格式化的方式来显示所有文档
// db.a1.find().pretty() //返回一个找到到的数据
// db.a1.findOne() // *************************** // 比较符:
// 查找到name = a2 的数据:
// db.a1.find({'name':'a2'}) // 查找到count 小于 40 的数据
// db.a1.find({"count":{$lt:40}}).pretty() // 查找到count 大于 60 的数据
// db.a1.find({"count":{$gt:60}}).pretty() // 查找到count 小于等于 35 的数据
// db.a1.find({"count":{$lte:35}}).pretty() // 查找到count 大于等于 64 的数据
// db.a1.find({"count":{$gte:64}}).pretty() // 查找cont 大于50小于80
// db.a1.find({'count':{$gt:50,$lt:80}}) // 查找到count 不等于 64 的数据
// db.a1.find({"count":{$ne:64}}).pretty() // *************************** // MongoDB AND 条件(多个条件查询)
// 查询语法:
// db.col.find({key1:value1, key2:value2}).pretty() // db.a1.find({'sex':'女','count':{$gt:50}}) // OR 条件
// db.a1.find({$or:[{'name':'a1'},{'name':"a2"}]}) // ***************************
// 查询指定数据内的数据
// db.a1.find({字段名:{'$in':[字段值1,字段值2,字段值3']}})
// db.a1.find({'name':{'$in':['a1','a2','a3']}})
// 查询不在指定数据内的数据
// db.a1.find({字段名:{'$nin':[字段值1,字段值2,字段值3']}})
// db.a1.find({'name':{'$nin':['a1','a2','a3']}})
// ***************************
// not
// db.a1.find({字段名:{'$not':[运算符表达式]}})
// db.a1.find({'count':{$not: {$lte:74}}})
//nor = not or
// db.a1.find({字段名:{'$nor':[运算符表达式]}})
// db.a1.find({$nor:[{'sex':'男'},{'count':{$lte:20}}]})
//***************************
// $exists 取出没有的字段
// db.a1.find({'count':{$exists:0}})
//***************************
// $type 对用类型的数据 2:字符串
// db.a1.find({'name':{$type:2}})
// ***************************
//显示前两条数据
// db.a1.find().limit(2) //跳过前两条显示两条数据
// db.a1.find().limit(2).skip(2) //升序排序
// db.a1.find({},{_id:1,name:1}).sort({name:1}) //降序排序
// db.a1.find({},{_id:1,name:1}).sort({name:-1}) //skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。 // ***************************
查找到操作:
find_one_and_delete() //查找后删除 find_one_and_replace() //查找后替换 find_one_and_update() //查找后更新 create_index() //在集合上创建索引 create_indexes() //在集合上创建一个或多个索引 drop_index() //删除此集合上的索引
MongoDB 学习手册 - CURD的更多相关文章
- Django学习手册 - CURD组件
CURD CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD.作用是用于处理数据的基本原子操作. 它代表创建(Create).更新(Update).读取(Retriev ...
- MongoDB 学习手册 - 安装(windwos 环境)
- MongoDB学习(1)--安装,基本curd操作
知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...
- MongoDB学习笔记(2):数据库操作及CURD初步
MongoDB学习笔记(2):数据库操作及CURD 数据库操作 创建数据库 首先MongoDB中数据库的创建和数据库的切换都是使用命令,USE DATABASE,如果要切换的数据库不存在则会进行创建, ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- SQLite学习手册(目录)
链接地址:http://www.cnblogs.com/stephen-liu74/archive/2012/01/22/2328757.html 在实际的应用中,SQLite作为目前最为流行的开源嵌 ...
- 一站式SpringBoot for NoSQL Study Tutorial 开发教程学习手册
SpringBoot2.0 + NoSQL使用教程,项目名称:“SpringBoot2NoSQL” 项目地址: https://gitee.com/475660/SpringBoot2NoSQL 项目 ...
- MongoDB学习笔记系列~目录
MongoDB学习笔记~环境搭建 (2015-03-30 10:34) MongoDB学习笔记~MongoDBRepository仓储的实现 (2015-04-08 12:00) MongoDB学习笔 ...
- SQLite学习手册(转)
原文网址:http://www.cnblogs.com/stephen-liu74/archive/2012/01/22/2328757.html 在实际的应用中,SQLite作为目前最为流行的开源嵌 ...
随机推荐
- 深入理解JS函数中this指针的指向
函数在执行时,会在函数体内部自动生成一个this指针.谁直接调用产生这个this指针的函数,this就指向谁. 怎么理解指向呢,我认为指向就是等于.例如直接在js中输入下面的等式: console.l ...
- stock1114
# encoding: utf-8 import requests import logging import logging.config import random import os impor ...
- JavaSE_坚持读源码_ClassLoader对象_Java1.7
ClassLoader java.lang public abstract class ClassLoader extends Object //类加载器的责任就是加载类,说了跟没说一样 A clas ...
- JAVA核心技术I---JAVA基础知识(回顾)
一:对象实例化问题: public class Rectangle { ; ; public int area() { return width * height; } } 则如下代码输出结果为: R ...
- Dubbo管控台安装(zookeeper集群)
Dubbo管控台可以对注册到zookeeper注册中心的服务或服务消费者进行管理,但管控台是否正常对Dubbo服务没有影响,管控台也不需要高可用,因此节点部署 环境:Centos6.6.IP:10 ...
- angular学习一框架结构认识
angular学习所有内容均会与vue以及react框架进行对比. angular学习使用的编译器:webstorm 解决编译器屏蔽node_modules包问题: File-->setting ...
- source命令导入大数据速度慢优化
XX市邮政微商城的项目数据库,300多M,约220万条数据,source命令导入花了20个小时左右,太不可思议. 速度慢原因:220多万条数据,就 insert into 了220多万次,下图: 这是 ...
- ACM-ICPC 2018 焦作赛区网络预赛 I Save the Room(水题)
https://nanti.jisuanke.com/t/31718 题意 问能否用1*1*2的长方体填满a*b*c的长方体. 分析 签到.如果a.b.c都是奇数,一定不能. #include< ...
- cdqz2017-test1-数论 (BSGS + 二次剩余 + CRT)
若m=0, 就是求n^2n ≡ x mod p (x--) 因为一定优解,所以x一定是p的二次剩余 令g为p的1个原根,且g^k ≡ x mod p 则k是偶数,证明k是偶数: 假设 g1^k1 ≡ ...
- PHP7 网络编程(三)孤儿进程与僵尸进程
基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程.子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束. 当一个 ...