mongodb学习笔记之增删改查作指令

来源:互联网 发布:linux查看用户所属组 编辑:程序博客网 时间:2024/06/03 18:01

1: mongo入门命令

 

1.1: show dbs  查看当前的数据库

1.2 use databaseName 选库

1.2 show tables/collections 查看当前库下的collection

 

1.3 如何创建库?

Mongodb的库是隐式创建,你可以use 一个不存在的库

然后在该库下创建collection,即可创建库

 

1.4 db.createCollection(‘collectionName’) 

创建collection

 

1.5 collection允许隐式创建

Db.collectionName.insert(document);

 

1.6 db.collectionName.drop() ,

删除collection

 

1.7 db.dropDatabase();

删除database

基本操作增删改查

增: insert

介绍: mongodb存储的是文档,. 文档是json格式的对象.

 

语法:db.collectionName.isnert(document);

 

1: 增加单篇文档

Db.collectionName.insert({title:’nice day’});

 

2: 增加单个文档,并指定_id

Db.collectionName.insert({_id:8,age:78,name:’lisi’});

 

3. 增加多个文档

db.collectionName.insert(

[

{time:'friday',study:'mongodb'},

{_id:9,gender:'male',name:'QQ'}

]

)

 

 

删:remove

语法:db.collection.remove(查询表达式, 选项);

选项是指  {justOne:true/false},是否只删一行, 默认为false

 

注意

1: 查询表达式依然是个json对象

2: 查询表达式匹配的行,将被删掉.

3: 如果不写查询表达式,collections中的所有文档将被删掉.

 

例1:db.stu.remove({sn:’001’});

删除stu表中 sn属性值为’001’的文档

 

例2: db.stu.remove({gender:’m’,true});

删除stu表中gender属性为m的文档,只删除1行.

改  update操作

改谁? --- 查询表达式

改成什么样? -- 新值 或 赋值表达式

操作选项 ----- 可选参数

 

语法:db.collection.update(查询表达式,新值,选项);

例:

db.news.update({name:'QQ'},{name:'MSN'});

是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},

结果: 文档中的其他列也不见了,改后只有_idname列了.

即--新文档直接替换了旧文档,而不是修改

 

如果是想修改文档的某列,可以用$set关键字

db.collectionName.update(query,{$set:{name:’QQ’}})

 

修改时的赋值表达式

$set 修改某列的值

$unset 删除某个列

$rename 重命名某个列

$inc 增长某个列

$setOnInsert 当upsert为true时,并且发生了insert操作时,可以补充的字段.

 

 

Option的作用:

{upsert:true/false,multi:true/false}

Upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)

 

例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true});

如果有name=’wuyong’的文档,将被修改

如果没有,将添加此新文档

 

例:

db.news.update({_id:99},{x:123,y:234},{upsert:true});

没有_id=99的文档被修改,因此直接插入该文档

 

multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)

例:

db.news.update({age:21},{$set:{age:22}},{multi:true});

则把news中所有age=21的文档,都修改

查: find,findOne

语法:db.collection.find(查询表达式,查询的列);

Db.collections.find(表达式,{列1:1,列2:1});

 

 

例1:db.stu.find()

查询所有文档 所有内容

 

例2:db.stu.find({},{gendre:1})

查询所有文档,的gender属性 (_id属性默认总是查出来)

 

例3:db.stu.find({},{gender:1, _id:0})

查询所有文档的gender属性,且不查询_id属性

 

例3:db.stu.find({gender:’male’},{name:1,_id:0});

查询所有gender属性值为male的文档中的name属性




阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电饭锅煮饭好吃 电饭煲煮饭多长时间 电饭煲煮饭时间 压力锅怎么煮饭 可以煮饭的酒店 铝锅煮饭好吗 如何用砂锅煮饭 电压力锅 煮饭 高压锅煮饭几分钟 哪种米煮饭好吃 什么电饭煲煮饭快 怎样煮饭才香 薏米怎么煮饭 紫砂煲可以煮饭吗 电压力锅煮饭时间 哪种锅煮饭好吃 电饭锅煮饭时间 花鼓戏懒煮饭 微波炉可以煮饭吗 电饭煲怎么煮饭 煮饭 米水比例 怎样煮饭才好吃 电饭锅煮饭多少时间 怎么给宝宝煮饭 煮饭用什么水好 微波炉煮饭怎么煮 电饭锅煮饭不熟就跳 微波炉能煮饭吗 自来水可以煮饭吗 电饭锅不能煮饭 开水煮饭好吗 煮饭水放多少 微波炉怎样煮饭 用压力锅煮饭好吗 煮饭阿姨什么意思 用什么煮饭好吃 微波炉怎么煮饭 自来水煮饭可以吗 糙米怎么煮饭 煮饭怎么不粘锅 电饭煲煮饭放水