mongodb入门很简单(3)
##简单的mongodb入门命令##
1.show dbs; //查看当前数据库
2.use databaseName; //选库
3.show tables/collections; //查看数据库中有哪些表
4.db.help(); //查看一些对database的操作命令
5.mongodb的库是隐式创建的,我们可以use一个不存在的库,然后在改库下创建collection,即可创建库;
例如:db.createCollection('user');
db.user.insert({id:10, name:'wangwu', age:20});
db.user.find();
6.collection允许隐式创建:
db.collectonName.insert(document);
7.删除collction;
db.collectionName.drop();
8.删除database;
db.dropDatabase();
##mongodb基本操作##
1.增:insert
db.stu.insert({stu_id:'001', name:'xiaoqiang'});
一次性创建多篇文档:json是一个对象,js中有数组这个概念,我们只需要将多个对象,放到一个数组里就可以了;
例如:
db.stu.insert([{_id:3, sn:'003', name:'liuqiang'},{sn:'006', name:'zhaoming'}]);
我们可以写的任意深;

2.删:remove
语法:db.collection.remove (查询表达式,选项);
选项是指:(just_one_line:true/false) 是否只删除一行,默认为false;
例如:
db.stu.remove({sn:'001'}); //删除st表中sn为001的学生
db.stu.remove({sn:'001', true}); //只删除一行
注意:
1)查询表达式依然是json对象;
2)查询表达式匹配的行将被删掉;
3)如果不写查询表达式,collection中所有的文档将被删掉;

3.改:update
语法:db.collection.update(查询表达式,赋值表达式,新增选项);
改谁--查询表达式
改成什么样--赋值表达式
操作选项--可选参数
例如:
db.stu.update({name:'dalang'}, {name:'zhagnqiang'}); //新文档直接替换了旧文档
db.stu.update({name:'liuwei'}, {$set:{name:'yaoming'}}); //只改某一个列

修改时的赋值表达式:
$set 修改某列的值
$unset 删除某个列
$rename 重命名某个列
$inc 增长某个列
$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段;
exp:
db.stu.insert({name:'zhangqiang',age16,sex:'m',weight:60});
db.stu.update({$set:{name:wangli},$unset:{age:17},$rename:{sex:'gender'}, $inc:{weight:2}});


可选参数:
{upsert:false multi:false}
upsert:没有匹配的行则直接插入该行(如果有查询到的字段则修改,否则添加新的信息)
muiti:修改多行(即使查询表达式命中多行,也只改一行,如果想改多行,加入这个选项)
exp:
db.stu.update({name:'zhangqiang'}, $set:{name:'lisi'},{upsert:true});
db.stu.update({name:'zhangqiang'}, $set:{name:'lisi',$setOnInsert:{high:180}},{upsert:true}); //加上high属性
db.stu.update({gender:'m'},$set:{genter:'men'},{multi:true});
4.查:find,findOne
db.stu.find(); //查询所有的文档
db.stu.find({age:18}); //查询所有文档中age属性的列
db.stu.find({}, {age:20}); //查询所有文档中age=20的列,且不查询id属性
db.stu.find({name:'zhngsan'}, {age:1,_id:0}); //查出name是zhangsan 的age都要查出来
mongodb入门很简单(3)的更多相关文章
- mongodb入门很简单(2)
mongodb的安装 1.下载mongodb: www.mongodb.org 下载最新的stable版:我下载的版本是3.2.5 2.解压文件 3.不用编译:本身就是编译后的二进制可执行文件 打开 ...
- mongodb入门很简单(1)
mongodb简介: 如前边介绍的两个键-值数据库: memcached和redis属于(key/value)数据库: 而mongodb是文档数据库:存储的是文档(Bson->json的二进制) ...
- Redis入门很简单之七【使用Jedis实现客户端Sharding】
Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...
- Redis入门很简单之五【Jedis和Spring的整合】
Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring 在上一篇文章中,简单介绍了Jedis的 ...
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
- Redis入门很简单之三【常见参数配置】
Redis入门很简单之三[常见参数配置] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached Redis的一下常见设置都是通过对redis.conf ...
- Redis入门很简单之二【常见操作命令】
Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存 Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
随机推荐
- Struts2+Spring3+MyBatis3整合以及Spring注解开发
分类: Web(2) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在做一个SpringMVC+spring+MyBatis的项目,突然想起以前自己要搭建一个Struts2+Sprin ...
- NSArray最简单的倒序
NSArray里有 sortedArrayUsingSelector:等排序的方法,但是最简单的倒序排列的方法如下: NSArray *deArray = [[keyArrays reverseObj ...
- Nginx无法启动,80端口被PID=4占用
在nginx启动后,error.log中总是显示 80 端口被占用. 通过netstat -ano发现,其被一个叫PID=4的系统服务占用. 网上大多数的方法是说通过regidit修改注册表的方式解决 ...
- Gartner提出的7种多租户模型
下面,我们就来看看在SaaS应用搭建过程中,可以采用什么样的多租户模型.从而能较为清晰地了解未来使用PaaS平台开发的SaaS,可以为用户提供哪些多租户的服务. Gartner提出了7种 ...
- devops model
1,自动部署() 2,在线监控 (可视化,智能化) 3,故障诊断 (故障识别,故障隔离) 4,快速定位 (识别环境与程序,数据等问题) 评测工具开发---- 统计条目增加大项目: BI中权限―拨测数据 ...
- pandas_datareader.data 和 fix_yahoo_finance 获取金融数据
参考:https://zhuanlan.zhihu.com/p/35360694 1.获取数据 #定义所需要的数据 gafataDict={"谷歌":"GOOG" ...
- 服务器初识、linux安装、linux初识
电脑硬件 电源 既然是人体的心脏,保障电源供应,就需要质量好的电源,生产环境中单个核心服务器最好是双电源AB线路. 一个接220V电路,一个可能接蓄电池UPS(不间断电源) cpu 常见品牌:Inte ...
- webpack打包页面空白的解决方法
- 增强MyEclipse的代码自动提示功能
一般在Eclipse ,MyEclipse代码里面,打个foreach,switch等 这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Visual Stu ...
- python练习题(持续更新中。。。。。)
1.检验注册用户是否合法:需要输入用户名,校验用户名是否被注册,如已注册,提示已经注册过,没注册就可以注册:用户名不能为空:用户名长度必须在6-13位之间:最多只能输入三次. users = ['aa ...