查询操作
进入mongo的admin数据库
[mongod@MongoDB ~]# mongo 10.0.0.152/admin
MongoDB shell version: 3.2.8
connecting to: 10.0.0.152/admin
查看当前数据库名
> db
admin
查看当前数据库版本
> db.version()
3.2.8
查看所有数据库
> show dbs;
clsn 0.000GB
local 0.000GB
test 0.000GB
> show databases;
clsn 0.000GB
local 0.000GB
test 0.000GB
切换数据库(创库)
> use test;
switched to db test
显示当前数据库
*1*
> db
test
*2*
> db.getName()
test
查看clsn数据库当前状态
> use clsn;
> db.stats()
{
"db" : "clsn",
"collections" : 1,
"objects" : 10000,
"avgObjSize" : 80,
"dataSize" : 800000,
"storageSize" : 258048,
"numExtents" : 0,
"indexes" : 1,
"indexSize" : 94208,
"ok" : 1
}
查看当前数据库的连接机器地址
> db.getMongo()
connection to 127.0.0.1
数据管理(增删该查)
库管理
创建数据库
> use clsn;
说明:
当use的时候,系统就会自动创建一个数据库。
如果use之后没有创建任何集合。系统就会不承认这个数据库。
删除数据库:
> show dbs;
clsn 0.000GB
local 0.000GB
test 0.000GB
> use clsn
switched to db clsn
> db.dropDatabase()
{ "dropped" : "clsn", "ok" : 1 }
说明:
如果没有选择任何数据库,会删除默认的 test 数据库
集合操作
创建集合
方法一:
> use clsn;
switched to db clsn
> db.createCollection('a')
{ "ok" : 1 }
> db.createCollection('b')
{ "ok" : 1 }
方法二:
当插入一个文档的时候,一个集合就会自动创建。
> use clsn;
switched to db clsn
> db.c.insert({name:'clsn'});
WriteResult({ "nInserted" : 1 })
> db.c.insert({url:'http://blog.nmtui.com'});
WriteResult({ "nInserted" : 1 })
查看当前数据下的所有集合
> show collections;
a
b
> db.getCollectionNames()
[ "a", "b" ]
重命名集合
> db.c.renameCollection("clsn")
{ "ok" : 1 }
> db.getCollectionNames()
[ "a", "b", "clsn" ]
删除合集
> db.a.drop()
true
> db.getCollectionNames()
[ "b", "clsn" ]
查看合集里的内容
> db.c.find()
{ "_id" : ObjectId("5a4cbcea83ec78b7bea904f8"), "name" : "clsn" }
{ "_id" : ObjectId("5a4cbcfc83ec78b7bea904f9"), "url" : "http://blog.nmtui.com" }
删除合集
> db.a.drop()
true
> db.getCollectionNames()
[ "b", "clsn" ]
合集的数据操作
1.插入数据
> db.log.insert({"uid":100})
WriteResult({ "nInserted" : 1 })
> for(i=0;i<10000;i++){ db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()});
WriteResult({ "nInserted" : 1 })
2.查询集合中的查询所有记录
> db.log.find()
注:默认每页显示20条记录,当显示不下的的情况下,可以用it迭代命令查询下一页数据。
对默认显示记录数进行设置
> DBQuery.shellBatchSize=50; # 每页显示50条记录
> db.log.findOne() # 查看第1条记录
> db.log.count() # 查询总的记录数
> db.log.find({uid:1000}); # 查询UUID为1000的数据
3.删除集合中的记录数
> db.log.distinct("name") # 查询去掉当前集合中某列的重复数据
[ "mongodb" ]
> db.log.remove({}) # 删除集合中所有记录
WriteResult({ "nRemoved" : 10000 })
> db.log.distinct("name")
[ ]
4.对集合中的某条数据进行修改???
查看集合存储信息
> db.log.stats() # 查看数据状态
> db.log.dataSize() # 集合中数据的原始大小
> db.log.totalIndexSize() # 集合中索引数据的原始大小
> db.log.totalSize() # 集合中索引+数据压缩存储之后的大小
> db.log.storageSize() # 集合中数据压缩存储的大小
pretty()使用
> db.log.find({uid:1000}).pretty()
{
"_id" : ObjectId("5a4c5c0bdf067ab57602f7c2"),
"uid" : 1000,
"name" : "mongodb",
"age" : 6,
"date" : ISODate("2018-01-03T04:28:59.343Z")
}