MongoDB常用操作总结
====================================MGDB的操作======================================
0.创建数据库时使用(use 数据库名)来创建,但如果use命令之后没有进行其它操作(如:给定list)直接退出,那么use命令执行出来的数据库将会从缓冲池中被清除,并没有真正 创建!;
1.use命令不但能声明创建数据库而且还能可以***切换数据库***;
2.删除一个数据库时需切换到该数据库后使用 db.dropDatabase();语句即可;
3.查询当前登录用户有多少个数据库则使用 show dbs 命令;
====================================MGDB的list操作======================================
5.查询当前数据库中有几个list使用 show collections 命令 ;
6.从一个数据库删除一个list的时候使用 db.list名.drop();
7.给数据库增加一个list(list中必须要有元素)时先切换到当前数据库后使用 db.list名.insert({name:"asd",age:"12"});语句即可;
====================================MGDB的list中的数据操作======================================
8.在list中插入一条数据使用 db.list名.insert({name:"asd",age:"12"});
8.1-> 如果数据库中声明了一个特殊的list(如:d-d)要给这样的list插入数据需要使用 db.getCollection("list名").text.insert({...}); 命令,所以在命名上需要注意;
8.2-> 可以使用for循环进行使用insert 进行批量数据插入;
8.3-> 如果在向list插入数据的时候 自己命名了"_id"键并产生重复数据时,使用insert则会报错,使用save则会变为修改上条"_id"键相同的数据;
9.更新一条list数据的命令是 db.list名.update({name:"asd"},{$set:{name:"bbb"}});***$set:操作符属于局部更新如果不使用会造成其它键值对被清掉***
9.1-> 批量更新使用 db.list名.update({查询器},{更新器},false,true); 命令第四个参数是批量的意思,否则只更新第一条记录;
==============================$更新器==============================
9.2-> (db.list名.update({查询器},{$set:{...}},false,true);)$set更新器中的内容如果不存在这个键 则加上这个键值对;
9.3-> db.list名.update({num:5},{$inc:{num:正整数或负整数}},false,true); 如为正整数则加上相应的数组,负整数则减去相应的数字;
9.4-> db.list名.update({num:5},{$unset:{num:任意正整数}},false,true); 会将把num的键值对删除掉;
==============================$更新器针对list中值为数组的键值对数据==============================
9.5.1-> db.list名.update({num:5},{$push:{books:"aa"}},false,true); 如果这个list中存在一条或几条带有books为键值为数组的键值对则该数组进行更新,没有则创建,如果键存在而值不是数组形式则会报错;
9.5.2-> db.list名.update({num:5},{$pushAll:{books:["aa","bb"]}},false,true); 和上条同理只是批量更新;
9.5.3-> db.list名.update({num:5},{$addToSet:{books:["aa"]}},false,true); 如果books中存在aa则更新插入否则不执行;
9.5.4-> db.list名.update({num:5},{$pop:{books:-1}},false,true); 如果books:-1时从值数组中删除第一个值,若为books:1则从最后一个位置删除一个值;
9.5.5-> db.list名.update({num:5},{$pull:{books:"a"}},false,true); 删除book中值为a的值;
9.5.6-> db.list名.update({num:5},{$pull:{books:["a","b"]}},false,true); 批量删除book中值为a和b的值;
9.5.7-> ***批量判断式的更新值数组操作*** db.list名.update({num:5},{$addToSet:{books:{$each:["a","b"]}}},false,true); 如果books中存在a或b就不填加,否则就添加到books中去;
10.删除一条list元素db.list名.remove({"name" : "gg"});
11.删除所有记录 使用db.list名.remove();时索引并不删除***如果数据量及其庞大的话使用db.list名.drop();效率比较高***;
12.如果数据存在就选择更新操作数据不存在就选择插入操作(insertOrupdate)使用 db.list名.update({查询器},{更新器},true);
MongoDB常用操作总结的更多相关文章
- mongodb常用操作语句
mongodb常用操作语句 A:创建数据表 db.createCollection(name, {capped: <Boolean>, autoIndexId: <Boolean&g ...
- MongoDB常用操作
(备注: 对于 window, 不需要sudo) 验证成功与否: * 启动服务器: $sudo mongod --dbpath C:\data\db (需要 指明数据库存放的目录) * 打开shell ...
- MongoDB系列:二、MongoDB常用操作练习
最近在自学MongoDB,在此记录一下,当做学习笔记了(不断更新中)!! 一.背景 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存 ...
- MongoDB常用操作一查询find方法db.collection_name.find()
来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...
- MongoDB常用操作--简介
mongodb在项目中使用越来越觉得日志方面的记录和查询是远远优于MySQL的,所以对其一些基本的操作进行了整理,以下就是整理的一些规则插入数据: insert插入多组数据:inserrAll修改数据 ...
- MongoDB常用操作一查询find方法(转)
来:http://blog.csdn.net/wangli61289/article/details/40623097 https://docs.mongodb.org/manual/referenc ...
- MongoDB常用操作整理
Mongodb:是一种NoSQL数据库,NoSQL:Not Only SQLSQL: 数据表->JDBC读取->POJO(VO.PO)->控制层转化为JSON数据->客户端 这 ...
- MongoDB常用操作--集合2
1.查询集合中的文档,可以使用命令 db.集合名称.find({条件}),或者使用 db.集合名称.findOne() 查询第一个文档 2.查询集合中的文档,返回某些特定的键值 3.查询集合中的文档 ...
- Express使用MongoDB常用操作
const MongoClient = require('mongodb').MongoClient const url = "mongodb://localhost:27017" ...
随机推荐
- 递推DP URAL 1353 Milliard Vasya's Function
题目传送门 /* 题意:1~1e9的数字里,各个位数数字相加和为s的个数 递推DP:dp[i][j] 表示i位数字,当前数字和为j的个数 状态转移方程:dp[i][j] += dp[i-1][j-k] ...
- stack+DFS ZOJ 1004 Anagrams by Stack
题目传送门 /* stack 容器的应用: 要求字典序升序输出,所以先搜索入栈的 然后逐个判断是否满足答案,若不满足,回溯继续搜索,输出所有符合的结果 */ #include <cstdio&g ...
- HDU 4057 Rescue the Rabbit(AC自动机+DP)
题目链接 一个数组开小了一点点,一直提示wa,郁闷,这题比上个题简单一点. #include <iostream> #include <cstring> #include &l ...
- C#中的String.Format方法(转)
一.定义String.Format是将指定的 String类型的数据中的每个格式项替换为相应对象的值的文本等效项. 如: (1)string p1 = "Jackie";strin ...
- Configuration of OpenCV2.1.0 with VS2010
Add in the system Path: C:\Program Files (x86)\OpenCV-2.1.0\build\bin\Debug Project->Project Prop ...
- VirtIE6
VirtIE6--能在win7上直接运行的单文件 http://down.iefans.net/VirtIE6.rar
- php phpeclipse + xampp 配置安装过程
就想test是否能配置成功,下载apache,php5.3,安装开始 apache的安装,一路next,遇到Server Information,随便填写即可,安装路径自己可选 php的安装,将下载的 ...
- java抛出异常是怎么回事?
一.Java异常的基础知识 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如 ...
- 关于java文件扩展名认识
☆ 写在前面 一名新手在历经千辛万苦写好Java程序,怀揣激动的心情去编译和执行java程序时,结果出现错误,什么找不到文件,什么不存在,找不到main方法等等.我在这里就文件后扩展名,也叫文件后缀名 ...
- Python常用函数笔记
1.lambda lambda其实就是一条语句,lambda(x):body.x是lambda函数的参数,参数可以有任意多个(包括可选参数);body是函数体,只能是一个表达式,并且直接返回该表达式的 ...