mongodb 數(shù)據(jù)庫(kù)操作詳解--創(chuàng)建,切換,刪除
mongodb安裝就不說(shuō)了,請(qǐng)參考:centos yum 安裝 mongodb 以及php擴(kuò)展
一,創(chuàng)建,切換,刪除數(shù)據(jù)庫(kù)
[root@localhost zhangy]# mongo
MongoDB shell version: 2.4.6
connecting to: tank
> use test //創(chuàng)建 or 切換數(shù)據(jù)庫(kù)
switched to db test
> db.dropDatabase() //刪除數(shù)據(jù)庫(kù)
{ "dropped" : "test", "ok" : 1 }
二,php創(chuàng)建,切換,刪除數(shù)據(jù)庫(kù)
1,切換數(shù)據(jù)庫(kù)
$mongo = new Mongo();
$db = $mongo->selectDB('test'); //切換數(shù)據(jù)庫(kù)
2,創(chuàng)建數(shù)據(jù)庫(kù)
$mongo = new Mongo();
$db = $mongo->selectDB('test');
$users = $db->createCollection("users");
$alldb = $mongo->listDBs(); //列出所有數(shù)據(jù)庫(kù)
print_r($alldb); //可以看到db創(chuàng)建成功了
在這里要注意一下,如果你不創(chuàng)建一個(gè)collection(根關(guān)系型數(shù)據(jù)庫(kù)的表基本上是一樣的),是創(chuàng)建不了數(shù)據(jù)庫(kù)的。
3,刪除數(shù)據(jù)庫(kù)
$mongo = new Mongo();
$db = $mongo->selectDB('test');
$db->drop();
三,小節(jié)
這篇文章很簡(jiǎn)單吧,哈哈,不想在一篇文章里面寫(xiě)太多的東西,折開(kāi)來(lái)寫(xiě),看的更清楚一點(diǎn),更細(xì)一點(diǎn)。
在這兒要提一下,mongodb命令下的幫助,這個(gè)對(duì)于命令行操作很有幫助。
1,db的幫助
db.AddUser(username,password) 添加用戶
db.auth(usrename,password) 設(shè)置數(shù)據(jù)庫(kù)連接驗(yàn)證
db.cloneDataBase(fromhost) 從目標(biāo)服務(wù)器克隆一個(gè)數(shù)據(jù)庫(kù)
db.commandHelp(name) returns the help for the command
db.copyDatabase(fromdb,todb,fromhost) 復(fù)制數(shù)據(jù)庫(kù)fromdb---源數(shù)據(jù)庫(kù)名稱,todb---目標(biāo)數(shù)據(jù)庫(kù)名稱,fromhost---源數(shù)據(jù)庫(kù)服務(wù)器地址
db.createCollection(name,{size:3333,capped:333,max:88888}) 創(chuàng)建一個(gè)數(shù)據(jù)集,相當(dāng)于一個(gè)表
db.currentOp() 取消當(dāng)前庫(kù)的當(dāng)前操作
db.dropDataBase() 刪除當(dāng)前數(shù)據(jù)庫(kù)
db.eval(func,args) run code server-side
db.getCollection(cname) 取得一個(gè)數(shù)據(jù)集合,同用法:db['cname'] or
db.getCollenctionNames() 取得所有數(shù)據(jù)集合的名稱列表
db.getLastError() 返回最后一個(gè)錯(cuò)誤的提示消息
db.getLastErrorObj() 返回最后一個(gè)錯(cuò)誤的對(duì)象
db.getMongo() 取得當(dāng)前服務(wù)器的連接對(duì)象get the server
db.getMondo().setSlaveOk() allow this connection to read from then nonmaster membr of a replica pair
db.getName() 返回當(dāng)操作數(shù)據(jù)庫(kù)的名稱
db.getPrevError() 返回上一個(gè)錯(cuò)誤對(duì)象
db.getProfilingLevel() 獲取profile level
db.getReplicationInfo() 獲得重復(fù)的數(shù)據(jù)
db.getSisterDB(name) get the db at the same server as this onew
db.killOp() 停止(殺死)在當(dāng)前庫(kù)的當(dāng)前操作
db.printCollectionStats() 返回當(dāng)前庫(kù)的數(shù)據(jù)集狀態(tài)
db.printReplicationInfo() 打印主數(shù)據(jù)庫(kù)的復(fù)制狀態(tài)信息
db.printSlaveReplicationInfo() 打印從數(shù)據(jù)庫(kù)的復(fù)制狀態(tài)信息
db.printShardingStatus() 返回當(dāng)前數(shù)據(jù)庫(kù)是否為共享數(shù)據(jù)庫(kù)
db.removeUser(username) 刪除用戶
db.repairDatabase() 修復(fù)當(dāng)前數(shù)據(jù)庫(kù)
db.resetError()
db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into {cmdObj:1}
db.setProfilingLevel(level) 設(shè)置profile level 0=off,1=slow,2=all
db.shutdownServer() 關(guān)閉當(dāng)前服務(wù)程序
db.version() 返回當(dāng)前程序的版本信息
2,表的幫助,格式,db.表名.help()
db.test.find({id:10}) 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)集
db.test.find({id:10}).count() 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)總數(shù)
db.test.find({id:10}).limit(2) 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)集從第二條開(kāi)始的數(shù)據(jù)集
db.test.find({id:10}).skip(8) 返回test數(shù)據(jù)集ID=10的數(shù)據(jù)集從0到第八條的數(shù)據(jù)集
db.test.find({id:10}).limit(2).skip(8) 返回test數(shù)據(jù)集ID=1=的數(shù)據(jù)集從第二條到第八條的數(shù)據(jù)
db.test.find({id:10}).sort() 返回test數(shù)據(jù)集ID=10的排序數(shù)據(jù)集
db.test.findOne([query]) 返回符合條件的一條數(shù)據(jù)
db.test.getDB() 返回此數(shù)據(jù)集所屬的數(shù)據(jù)庫(kù)名稱
db.test.getIndexes() 返回些數(shù)據(jù)集的索引信息
db.test.group({key:...,initial:...,reduce:...[,cond:...]}) 返回分組信息
db.test.mapReduce(mayFunction,reduceFunction,<optional params>) 這個(gè)有點(diǎn)像存儲(chǔ)過(guò)程
db.test.remove(query) 在數(shù)據(jù)集中刪除一條數(shù)據(jù)
db.test.renameCollection(newName) 重命名些數(shù)據(jù)集名稱
db.test.save(obj) 往數(shù)據(jù)集中插入一條數(shù)據(jù)
db.test.stats() 返回此數(shù)據(jù)集的狀態(tài)
db.test.storageSize() 返回此數(shù)據(jù)集的存儲(chǔ)大小
db.test.totalIndexSize() 返回此數(shù)據(jù)集的索引文件大小
db.test.totalSize() 返回些數(shù)據(jù)集的總大小
db.test.update(query,object[,upsert_bool]) 在此數(shù)據(jù)集中更新一條數(shù)據(jù)
db.test.validate() 驗(yàn)證此數(shù)據(jù)集
db.test.getShardVersion() 返回?cái)?shù)據(jù)集共享版本號(hào)
相關(guān)文章
mongodb數(shù)據(jù)庫(kù)入門之CURD簡(jiǎn)單操作示例
這篇文章主要介紹了mongodb數(shù)據(jù)庫(kù)入門之CURD簡(jiǎn)單操作,結(jié)合簡(jiǎn)單示例形式分析了MongoDB數(shù)據(jù)庫(kù)基本的CURD增刪改查相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-10-10
?PostgreSQL?與MongoDB使用對(duì)比分析
這篇文章主要介紹了為什么?PostgreSQL?能代替?MongoDB?,需要的朋友可以參考下2023-12-12
在Linux服務(wù)器中配置mongodb環(huán)境的步驟
這篇文章主要介紹了在Linux服務(wù)器中配置mongodb環(huán)境的步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
詳解mongoDB主從復(fù)制搭建詳細(xì)過(guò)程
這篇文章主要介紹了詳解mongoDB主從復(fù)制搭建詳細(xì)過(guò)程的相關(guān)資料,這里對(duì)實(shí)現(xiàn)主從復(fù)制進(jìn)行了詳細(xì)的步驟介紹,需要的朋友可以參考下2017-08-08
window下mongodb在dos下服務(wù)器啟動(dòng)及連接
這篇文章主要介紹了window下mongodb在dos下服務(wù)器啟動(dòng)及連接的相關(guān)資料,需要的朋友可以參考下2017-06-06
express使用Mongoose連接MongoDB操作示例【附源碼下載】
這篇文章主要介紹了express使用Mongoose連接MongoDB操作,結(jié)合實(shí)例形式分析了express使用Mongoose連接MongoDB的具體步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2019-07-07
MongoDB??數(shù)據(jù)模型的設(shè)計(jì)模式及優(yōu)缺點(diǎn)
這篇文章主要介紹了MongoDB??數(shù)據(jù)模型的設(shè)計(jì)模式,在實(shí)際開(kāi)發(fā)中,大多數(shù)性能問(wèn)題都可以追溯到糟糕的模型設(shè)計(jì),官方也提供分享過(guò)文檔模型設(shè)計(jì)的進(jìn)階技巧,這里簡(jiǎn)單翻譯記錄一下,需要的朋友可以參考下2022-12-12
MongoDB中游標(biāo)的深入學(xué)習(xí)
MongoDB中find()函數(shù)返回一個(gè)游標(biāo),客戶端通過(guò)對(duì)游標(biāo)進(jìn)行一些設(shè)置就能對(duì)查詢結(jié)果進(jìn)行有效地控制,如可以限制查詢得到的結(jié)果數(shù)量、跳過(guò)部分結(jié)果、或?qū)Y(jié)果集按任意鍵進(jìn)行排序等!這篇文章主要介紹了MongoDB中的游標(biāo),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-12-12

