##简单的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)的更多相关文章

  1. mongodb入门很简单(2)

    mongodb的安装 1.下载mongodb: www.mongodb.org  下载最新的stable版:我下载的版本是3.2.5 2.解压文件 3.不用编译:本身就是编译后的二进制可执行文件 打开 ...

  2. mongodb入门很简单(1)

    mongodb简介: 如前边介绍的两个键-值数据库: memcached和redis属于(key/value)数据库: 而mongodb是文档数据库:存储的是文档(Bson->json的二进制) ...

  3. Redis入门很简单之七【使用Jedis实现客户端Sharding】

    Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...

  4. Redis入门很简单之五【Jedis和Spring的整合】

    Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring  在上一篇文章中,简单介绍了Jedis的 ...

  5. Redis入门很简单之四【初识Jedis】

    Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis  使用Jedis提供的Java API对Redis进行操作,是Red ...

  6. Redis入门很简单之三【常见参数配置】

    Redis入门很简单之三[常见参数配置] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached  Redis的一下常见设置都是通过对redis.conf ...

  7. Redis入门很简单之二【常见操作命令】

    Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存  Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...

  8. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  9. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

随机推荐

  1. Hadoop单点伪分布模式安装

    Hadoop单点伪分布模式安装 概述 单点 single-node,单节点,即一台计算机. 伪分布式模式 pseudo-distributed mode 所谓集群,表面上看是多台计算机联合完成任务:但 ...

  2. Python全栈day21(函数的解耦)

    针对上一篇对文件的操作程序,执行一次操作的函数查询,添加,修改,删除都需要在函数里面定义文件处理的过程,整体函数看起来比较乱,代码重复过多 下面新定义一个函数专门用于处理文件操作,然后在不同的函数里面 ...

  3. 在虚拟机中的搭建Web服务器(CentOS)

    1.制作本地yum源 相关可查看:http://www.cnblogs.com/xiaomingzaixian/p/8424290.html 2.安装JDK 上传上传jdk-7u45-linux-x6 ...

  4. FAT AP 与 FIT AP的特点和区别

    Fat AP的主要特点: Fat AP是与Fit AP相对来讲的, Fat AP将WLAN的物理层.用户数据加密.用户认证.QoS.网络管理.漫游技术以及其他应用层的功能集于一身. Fat AP无线网 ...

  5. SQL Server 常用分页SQL(转)

    发现网上好多都是错的.网上经常查到的那个Top Not in 或者Max 大部分都不实用,很多都忽略了Order和性能问题.为此上网查了查,顺带把2000和2012版本的也补上了. 先说说网上常见SQ ...

  6. 【转】UML中类与类之间的5种关系表示

    一.继承关系      继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在Java中继承关系通过关键字extends明确标识,在设计时一 ...

  7. 【c++】生成浮点随机数

    c++11:std::uniform_real_distribution<>直接求(尖括号不填默认生成double) 随机10个在1-2之间的浮点数 #include <random ...

  8. 三.插入和查找MySQL记录 数据类型

    1.插入数据的两种方式 1)INSERT tb1 VALUES('TOM',25,1863.25); 2)INSERT tb1(username,salary) VALUES('John',4500. ...

  9. 3.Github介绍

    很多人都知道,Linus在1991年创建了开源的Linux.从此,Linux系统不断发展,已经成为最大的服务器系统软件了.Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的 ...

  10. Linux chmod命令

    chmod用于管理文件或目录的权限,文件或目录权限的控制分别以读取(r).写入(w).执行(x)3种 可读可写可执行,抽象的用二进制来表示 1 代表拥有该权限,0 代表没有该权限,这样我们就可以看到 ...