show dbs //查看所有数据库
db //查看当前所在数据库
show collections // 查看数据集合
use 数据库名 //切换到指定数据库,如果数据库不存在,则创建数据库
db.dropDatabase() //删除当前数据库,要删除哪一个库就切换到哪一个库。
db.getCollectionNames() //查询当前库都有哪些集合(表)
.pretty() 格式化输出结果
新增数据:
第一种方式:
显示创建集合(表):db.createCollection("collectionName") //创建一个名为collectionName的集合,创建完成后会返回 {"ok",1} json串
隐式创建集合:db.collection2.insert({name:"xiaomu",age:20});//往collection2集合中添加数据来创建集合,如果集合不存在就自动创建集合,返回:WriteResult({"nInserted":1})
第二种方式:
db.集合名.insert({"字段名":"值"})//可自动创建集合,且往该集合中新增数据
删除数据:
db.集合名.remove("字段名":"值")
实例:db.collection1.remove({age:7,name:"xiaomu"});//删除age为7,name为xiaomu的数据
db.user.update({"username":"[email protected]"},{"$unset":{"identity_is_active":""}},{multi:true}) 删除用户名为[email protected]的identity_is_active的字段信息
修改数据(c3为集合名):
db.c3.update({age:12},{name:"xiaoxiao"});//本意为将age为12的数据中的name更新为xiaoxiao,但是实际效果是只是将age为12的满足条件数据的第一条整条数据覆盖为name:“xiaoxiao”
db.c3.update({age:15},{$set:{name:"xiaolili"}});//本意为将age为15的数据的name修改为xiaolili,但是实际效果是只修改了查询到的第一条数据
db.c3.update({age:15},{$set:{name:"xiaolili"}},1,1);//将age为15的数据的name修改为xiaolili
总共4个参数,第四个参数表示有多条数据符合筛选条件的话是否全部更改,默认为0只改第一条,改为1后表示全部更改
第3个参数1表示如果没有符合条件的记录是否新增一条记录,1表示新增,0表示不新增
如:db.c3.update({age:21},{$set:{name:"xiaolili"}},1,1);//如果不存在age为21的数据则增加一条,增加的数据为{age:12,name:”xiaolili”}
db.c3.update({age:12},{name:"xiaoxiao"},{$inc:{age:-2}},1,1);//$inc表示使某个键值加减指定的数值,此处表示将name为xiaoxiao的数据的age字段的值减2
db.c3.update({age:12},{name:"xiaoxiao"},{$inc:{age:1}},0,1);//$unset用来删除某个键,此处表示删除name为xiaoxiao的数据的age字段
查找数据(collection1为集合名):
mongodb中每条数据都有一个id,用来唯一标识一条数据,id由mongo本身来维护
db.集合名.find();//查询集合中所有的数据
db.集合名.find({age:7});//查询年龄为7的数据
db.集合名.find({age:7},{name:1});
//查询年龄为7的数据,只返回name字段数据;两个大括号,前面的存查询条件,后面的存返回条件,返回条件字段1表示true,表示此字段返回,如果name后面的1改为0则表示不返回name字段,返回除name字段以外的其他字段
注意:如果设置返回字段有为0的已经表示查询所有除了某字段以外的所有字段就不能再设置某个字段为1了,有语法冲突
db.collection1.find({age:7,name:"xiaomu"},{name:1,age:1});//查询age为7,name为xiaomu的数据,返回name和age字段
注:多条件查询此处是并列,但是如果多个条件都相同的话如{name:"xiaoli",name:"xioamu"}则会只查询后一个条件的数据
db.collection1.find({},{age:1});//查询所有的数据,返回age字段
db.collection1.findOne();//查询集合的第一条数据
查询还有筛选查询、包含、分页、排序、存在等情况
详情可见:https://www.cnblogs.com/leskang/p/6000852.html