本文共 2454 字,大约阅读时间需要 8 分钟。
0、 mongodb 默认存在的库
test库: 登录时默认存在的库
admin库: 系统预留库,mongodb系统管理库local库: 本地预留库,存储关键日志1 、命令种类
数据库对象(库(database),表(collection),数据行(document))db.命令:
DB级别命令
db.[TAB] 类似于linux中的tab功能
db.help() db级别的命令使用帮助collection级别操作
db.Collection_name.xxxdocument级别操作:
db.t1.insert()复制集有关(replication set):
rs.分片集群(sharding cluster)
sh.2、帮助
helpKEYWORDS.help()KEYWORDS.[TAB]show
show databasesshow dbs show tables show collectionsuse dbdb.help()
db.a.help()rs.help()sh.help()3 、常用操作
--查看当前db版本
test> db.version()--显示当前数据库
test> db
test或db.getName()
test
--查询所有数据库
test> show dbs– 切换数据库
use local
switched to db local
– 显示当前数据库状态
test> use localswitched to db locallocal> db.stats()
– 查看当前数据库的连接机器地址
db.getMongo()
connection to 127.0.0.1
指定数据库进行连接
默认连接本机test数据库4、mongodb对象操作:
mongo mysql
库 -----> 库集合 -----> 表文档 -----> 数据行4.1 库的操作:
– 创建数据库:
当use的时候,系统就会自动创建一个数据库。如果use之后没有创建任何集合。系统就会删除这个数据库。– 删除数据库
如果没有选择任何数据库,会删除默认的test数据库//删除test数据库test> show dbs
local 0.000GBtest 0.000GBtest> use test
switched to db testtest> db.dropDatabase(){ "dropped" : "test", "ok" : 1 }4.2 集合及文档操作:
创建集合admin> use appswitched to db appapp> db.createCollection('a'){ "ok" : 1 }app> db.createCollection('b'){ "ok" : 1 }show collections //查看当前数据下的所有集合
a b 或db.getCollectionNames()[ "a", "b" ]
注:当插入一个文档的时候,一个集合就会自动创建。
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 appswitched to db appapp> db.log.drop() //删除集合
– 重命名集合
//把log改名为log1app> db.log.renameCollection("log1"){ "ok" : 1 }app> show collectionsa b clog1app批量插入数据
for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":newDate()})}Mongodb数据查询语句:
– 查询集合中的记录数
app> db.log.find() //查询所有记录注:默认每页显示20条记录,当显示不下的的情况下,可以用it迭代命令查询下一页数据。
设置每页显示数据的大小:DBQuery.shellBatchSize=50; //每页显示50条记录
app> db.log.find().pretty() //查询所有记录,并格式化输出
app> db.log.findOne() //查看第1条记录app> db.log.count() //查询总的记录数– 删除集合中的记录数
app> db.log.remove({}) //删除集合中所有记录– 查看集合存储信息
app> db.log.stats()app> db.log.totalSize() //集合中索引+数据压缩存储之后的大小app> db.log.storageSize() //集合中数据压缩存储的大小转载于:https://blog.51cto.com/12083623/2353137