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论坛举行试读推广,我当时随口说了几句(没说 ...
随机推荐
- JDK的图文安装教程
JDK的安装 什么是JDK? JDK就是Java开发工具包,即Java Development Kit.就是做Java开发所需要的最基本的工具.包括Java编译器(把人使用的Java语言变成JVM能运 ...
- Centos7.2yum安装时候出现db5错误的解决办法
Centos7.2使用yum安装软件是出现如此错误提示 解决办法 删除 /var/lib/rpm文件夹下面所有以__db开头的文件
- POJ 2374 Fence Obstacle Course(线段树+动态规划)
Fence Obstacle Course Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 2524 Accepted: ...
- CH5103 传纸条【线性dp】
5103 传纸条 0x50「动态规划」例题 描述 给定一个 N*M 的矩阵A,每个格子中有一个整数.现在需要找到两条从左上角 (1,1) 到右下角 (N,M) 的路径,路径上的每一步只能向右或向下走. ...
- jquery页面滚动显示浮动菜单栏锚点定位效果
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- ASP.NET Identity 2集成到MVC5项目--笔记01
Identiry2是微软推出的Identity的升级版本,较之上一个版本更加易于扩展,总之更好用.如果需要具体细节.网上具体参考Identity2源代码下载 参考文章 在项目中,是不太想直接把这一堆堆 ...
- HBase简单API
一.使用IDEA的maven工程,工程结构如下: 二.maven的依赖pom.xml文件 <?xml version="1.0" encoding="UTF-8&q ...
- MySQL之备份恢复
1.备份的种类 逻辑备份:SQL语句的备份 物理备份:数据页备份 2.逻辑备份工具介绍 select xxxx from t1 into outfile '/tmp/redis.txt' mysql ...
- 软件project--作图
软工学习进行了一个多月,但是真正静下心来学习也只是一周左右吧,这段时间里给自己印象最深刻的就是作图了, 机房收费系统我们是先进行的编码,后学习软件project对它来了一次回想性的文档编写. 刚開始当 ...
- nodejs waterfall的使用
waterfall(tasks, [callback]) (多个函数依次执行,且前一个的输出为后一个的输入) 按顺序依次执行多个函数.每一个函数产生的值,都将传给下一个函数.如果中途出错,后面的函数将 ...