关于mongodb基础的命令
banji----数据库 class---集合
1、查看所在的数据库
db
2、查看所有的数据库
show dbs
3、创建数据库
use banji
#查看所有的数据库show dbs,创建的数据库(banji)不在列表中。要显示数据库,需要至少插入一个文档,空的数据库是不显示出来的。
#db.banji.insert({"name":"banji"}),现在能看到数据库banji
4、删除数据库 注意大小写
db.dropDtabase() #这将删除当前所选数据库。
5、显示所有的集合(相当于数据库中的表)
show collections
6、创建集合
db.createCollection("class",{capped:true,autoIndesId:true,size:10240,max:1000})
7、删除集合
db.class.drop()
8、插入文档
db.class.insert(document)
#db.class.save(document)----也可以
document=({
title:'mongoDB jiaocheng',
by:'菜鸟教程',
urls:'www.runoob.com',
likes:100
});
9、更新文档
db.class.update(
<where>,
<set>,
{
upset:<boolean>,
multi:<boolean>,
writeConcern:<document>
}
)
- where: update的查询条件,类似sql update查询内where后面的。
- set: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
- upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
db.class.update({'title':'mongoDB jiaocheng',{$set:{'title':'mongoDB'}}})
error: Cannot change the size of a document in a capped collection : 83 != 73
#没搞懂
db.class.update({'title':'mongoDB jiaocheng',{$set:{'title':'mongoDB 111111111'}}})
10、删除文档
remove() 方法的基本语法格式如下所示:
db.collection.remove( <query>, <justOne> )
如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
删除集合下全部文档:
db.inventory.deleteMany({})
删除 status 等于 A 的全部文档:
db.inventory.deleteMany({ status : "A" })
删除 status 等于 D 的一个文档:
db.inventory.deleteOne( { status: "D" } )
11、查询文档
多个键值对同时查询,类似mysql中的and
db.class.find({键值对[,键值对]}).pretty()
key等于10
db.class.find({'key':10}).pretty()
小于10
db.class.find({'key':{$lt:10}}).pretty()
小于或等于10
db.class.find({'key':{$lte:10}}).pretty()
大于10
db.class.find({'key':{$gt:10}}).pretty()
大于或等于10
db.class.find({'key':{$gte:10}}).pretty()
不等于10
db.class.find({'key':{$ne:10}}).pretty()
or或者 等于10或者11
db.class.find({$or:[{'key':10},{'key':11}]}).pretty()
注意:
查询大于100 ,小于200的数据
db.class.find({key:{$gt:100,$lt:200}}).pretty
12、查询指定数量的数据
db.class.find().limit(2) #查询两条数据
13、跳过指定数量的数据
db.class.skip(2) #跳过2条数据
14、排序
db.class.find().sort({key:1}) #key一栏 升序排列
db.class.find().sort({key:-1}) #key一栏 降序排列
15、聚合 类似求和
> db.class.aggregate([{$group:{_id:"$likes",num:{$sum:1}}}])
{ "_id" : 100, "num" : 4 }
{ "_id" : 1010, "num" : 1 }
{ "_id" : 90, "num" : 1 }