mongodb常用命令

一、入门命令

(1)查看当前的数据库

 show dbs  

(2)切换数据库

 use databaseName

(3)查看当前数据库下的collection

 show tables/collections

二、创建库

Mongodb的库是隐式创建,可以use一个不存在的库,然后在该库下创建collection,即可创建库 (1)创建collection

 db.createCollection('collectionName')

(2)collection允许隐式创建

 db.collectionName.insert(document)

(3)删除collection

 db.collectionName.drop()

(4)删除database

 db.dropDatabase()

三、基本操作增删改查

(1)增:insert mongodb存储的是文档, 文档是json格式的对象

 db.collectionName.insert(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'}
    ]
 )

(2)删:remove

 db.collection.remove(查询表达式,{justOne:true/false})

justOne:是否只删一行,默认为false 注意: 查询表达式依然是个json对象 查询表达式匹配的行,将被删掉 如果不写查询表达式,collections中的所有文档将被删掉 1.删除stu表中 sn属性值为'001'的文档

 db.stu.remove({sn:'001'})

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

 db.stu.remove({gender:'m',true})

(3)改:update

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

1.把news表中name值为QQ的文档改为{name:'MSN'}

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

结果: 文档中的其他列也不见了,改后只有_id和name列了,即新文档直接替换了旧文档,而不是修改 2.如果是想修改文档的某列,可以用$set关键字

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

(a)修改时的赋值表达式: 1.:修改某列的值unset:删除某个列 3.:重命名某个列inc:增长某个列 5.$setOnInsert:当upsert为true时,并且发生了insert操作时,可以补充的字段 (b)Option的作用:

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

upsert是指没有匹配的行,则直接插入该行(和MySQL中的replace一样) 1.如果有name='wuyong'的文档,将被修改。如果没有,将添加此新文档

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

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

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

multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项) 1.把news中所有age=21的文档,都修改

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

(4)查: find, findOne

 db.collection.find(查询表达式,查询的列)
 db.collections.find(表达式,{列1:1,列2:1})

1.查询所有文档,所有内容

 db.stu.find()

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

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

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

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

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

 db.stu.find({gender:'male'},{name:1,_id:0})

 

posted @ 2021-02-27 15:27  秋分的秋刀鱼  阅读(179)  评论(0)    收藏  举报