mongodb常用基本操作
test庫: 登錄時默認存在的庫
admin庫: 系統預留庫,mongodb系統管理庫
local庫: 本地預留庫,存儲關鍵日誌
1 、命令種類
數據庫對象(庫(database),表(collection),數據行(document))
db.命令:
DB級別命令
db.[TAB] 類似於linux中的tab功能
db.help() db級別的命令使用幫助
collection級別操作
db.Collection_name.xxx
document級別操作:
db.t1.insert()
復制集有關(replication set):
rs.
分片集群(sharding cluster)
2、幫助
help
KEYWORDS.help()
KEYWORDS.[TAB]
show
show databases
show dbs
show tables
show collections
use
db
db.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
- 查看所有的collection
– 顯示當前數據庫狀態
test> use local
switched to db local
local> 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.000GB
test 0.000GB
test> use test
switched to db test
test> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }
4.2 集合及文檔操作:
創建集合
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" ]
註:當插入一個文檔的時候,一個集合就會自動創建。
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()})}
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() //集合中數據壓縮存儲的大小
mongodb常用基本操作