1. 程式人生 > >mongodb常用基本操作

mongodb常用基本操作

集合 復制集 幫助 ase b數 信息 inux san 查詢

0、 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)

sh.

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
    show tables;

– 顯示當前數據庫狀態
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常用基本操作