mongo mysql
库 —–> 库
集合 —–> 表
文档 —–> 数据行

一、库的操作:

创建数据库:
当use的时候,系统就会自动创建一个数据库。
如果use之后没有创建任何集合。
系统就会删除这个数据库。
删除数据库
如果没有选择任何数据库,会删除默认的test数据库

删除test数据库

test> show dbs
local 0.000GB
test 0.000GB

test> use test
switched to db test

test> db.dropDatabase()
{ “dropped” : “test”, “ok” : 1 }

二、集合的操作:

创建集合
方法1

admin> use app
switched to db app
app> db.createCollection('a')
{ "ok" : 1 }
app> db.createCollection('b')
{ "ok" : 1 }
> show collections //查看当前数据下的所有集合
a b 或
> db.getCollectionNames()
[ "a", "b" ]

方法2:当插入一个文档的时候,一个集合就会自动创建。

> use oldboy
> db.test.insert({name:"zhangsan"})
> db.stu.insert({id:101,name:"zhangsan",age:20,gender:"m"})
> show tables;
> db.stu.insert({id:102,name:"lisi"})
> db.stu.insert({a:"b",c:"d"})
> db.stu.insert({a:1,c:2})
> db.stu.find({}).pretty()
db.stu.find({id:101}).pretty();
{
    "_id" : ObjectId("5b470168cfdebc16a5a82a97"),
    "id" : 101,
    "name" : "zhangsan",
    "age" : 20,
    "gender" : "m"
}

删除集合

app> use app
switched to db app

app> db.log.drop() //删除集合

重命名集合

log改名为log1
app> db.log.renameCollection("log1")
{ "ok" : 1 }
app> show collections
a b c
log1
app

批量插入数据

for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new
Date()})}

查询集合中的记录数

app> db.log.find() //查询所有记录

注:默认每页显示20条记录,当显示不下的的情况下,可以用it迭代命令查询下一页数据。
设置每页显示数据的大小:

> DBQuery.shellBatchSize=50; //每页显示50条记录
app> db.log.findOne() //查看第1条记录
app> db.log.count() //查询总的记录数

删除集合中的记录数

app> db.log.remove({}) //删除集合中所有记录
> db.log.distinct("name") //查询去掉当前集合中某列的重复数据

查看集合存储信息

app> db.log.stats()
app> db.log.dataSize() //集合中数据的原始大小
app> db.log.totalIndexSize() //集合中索引数据的原始大小
app> db.log.totalSize() //集合中索引+数据压缩存储之后的大小
app> db.log.storageSize() //集合中数据压缩存储的大小
文档更新时间: 2019-03-25 13:05   作者:李延召