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" ...
随机推荐
- KVM切换器
所谓KVM,就是Keyboard.Video.Mouse的缩写,正式的名称为多计算机切换器.简单的说,就是一组键盘.显示器和鼠标,控制2台.4 台.8台.16台甚至到4096台以上的计算机主机. KV ...
- quick 截屏
MainScene local MainScene = class("MainScene", function() return display.newScene("Ma ...
- C#创建桌面快捷方式 和 开机启动
/// <summary> /// 创建桌面快捷方式 2010-11-25 /// </summary> p ...
- TYVJ P1034 尼克的任务 Label:倒推dp
背景 题库靠大家,人人都爱它. 描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成.尼克的一个工作 ...
- 【POJ】2234 Matches Game(博弈论)
http://poj.org/problem?id=2234 博弈论真是博大精深orz 首先我们仔细分析很容易分析出来,当只有一堆的时候,先手必胜:两堆并且相同的时候,先手必败,反之必胜. 根据博弈论 ...
- NOIP200002税收与补贴
试题描述 每样商品的价格越低,其销量就会相应增大.现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高于给定的最高价位后,销量以某固定数值递 ...
- oracle系列--第六篇 Oracle上面小试牛刀
现在我们可以在oracle上面进行创建表,向表中插入数据,修改表中数据,删除数据,甚至删除表等一系列操作. 即我们所说的CRUD操作. --create a table which name is t ...
- ckeditor的详细配置
CKEditor 3 JavaScript API Documentation : http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.con ...
- Hibernate使用MyExclipse10自动生成配置文件报错
使用MyExclipse10自动生成hibernate映射文件如下: 结果发现启动服务时报以下错误: 原因:因为hibernate换过项目地址,所以dtd文件的地址也换掉了.在hbm.xml文件里面把 ...
- FlexSlider插件的详细设置参数
FlexSlider是一个非常出色的jQuery滑动切换插件,它支持所有主流浏览器,并有淡入淡出效果.适合所有初级和高级网页设计师使用.不过很多人都只是使用默认的参数,今天来说说具体的参数来给大家看看 ...