MongoDB的基础语法

数据库操作

创建或使用数据库mydb

use mydb;//插入数据后,show dbs才可以显示出来;

查看所有数据库

show dbs;

统计当前数据库的信息

db.stats();

删除当前数据库

db.dropDatabase();

注:进入mongo shell 即执行db.dropDatabase()默认删除text数据库,如果没有该数据库则不执行删除操作

集合操作

查看当前数据库中所有的集合

show collections;

获取所有集合的名字,返回数组

db.getCollectionNames() 

隐式创建集合,也可用于插入数据,stu为集合名(后面都一样)

db.stu.insert({});

显式创建一个集合

db.createCollection("stu");

获取所有集合的信息

db.getCollectionInfos();

获取指定集合的信息

db.myCollection.stats()

//指定返回哪些key的数据

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

集合重命名

db.users1.renameCollection("users")

循环插入数据

for(var i=0;i<10000;i++){
	db.lauf1.insert({name:"jack"+i})
}

插入多条数据

db.c3.insert({key:value},{writeConcern:{},ordered:boolean})

排序查询

db.users.find().sort({key:1/-1})//升序、降序排序

替换更新

db.stu.update({name:"jack"},{"name":"tom",age:20},{upsert:true}) 

局部更新

db.stu.update({name:"jack19"},{$set:{age:20}},{upsert:true,multi:true})

年龄+1

db.stu.update({name:"jack19"},{$inc:{age:1}},{upsert:true,multi:true})

删除操作

justOne是否只删除一条

db.users.remove({query},{justOne:false,writeConcern}) 
>db.users.remove({name:"jack"})//删除name为jack的文档
>db.users.remove({})//删除所有文档
>db.users.remove({age:{$gt:20}})//删除年龄大于20的文档
>db.users.deleteMany({})//删除所有文档
>db.users.deleteMany({age:{$lt:20}})//删除年龄小于20的多个文档
>db.users.deleteOne({age:{$gt:10}})//删除一个

查询操作

>db.users.find().pretty()//格式化输出
>db.users.find({query},{projection})//加入查询条件,投影返回的字段
>db.users.find({name:"jack",age:{$lt:20}},{_id:0,name:1,age:1})//过滤key,0不显示

条件查询

>db.users.find({age:{$lte:20}})//age<=20
>db.users.find({age:{$lt:20}})//age<20
>db.users.find({age:{$gte:20}})//age>=20
>db.users.find({age:{$gt:20}})//age>20
>db.users.find(age:{$ne:20})//age!=20
>>db.users.find({name:{$in:["jack","tom"]}})//名字在数组中的文档  ,$nin不在数组
>db.users.find({name:{$not:"abc"}})//名字中不包含abc的文档
>db.users.find({addr:null})//addr为null的文档或者无该字段的文档
>>db.users.find().skip(1).limit(3)//跳过一个,然后返回三个文档

聚合操作

 db.users.aggregate([{$group:{_id:"$name",uage:{$sum:"$age"}}}])//在age字段聚合

索引操作

单键索引

db.users.createIndex( { age: 1 } ) //1为升序,-1为降序  默认索引名字 age_1

复合索引

db.users.createIndex({name:1,age:-1})

唯一索引

db.users.createIndex( { "key": 1 }, { unique: true } )

查看集合的索引

db.users.getIndexes() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值