您的位置:首页 > 数据库 > Mongodb

mongodb入门很简单(3)

2016-04-18 15:58 288 查看
##简单的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都要查出来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: