程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> mongodb 數據庫操作詳解--創建,切換,刪除

mongodb 數據庫操作詳解--創建,切換,刪除

編輯:MongoDB綜合知識

mongodb安裝就不說了,請參考:centos yum 安裝 mongodb 以及php擴展

一,創建,切換,刪除數據庫

[root@localhost zhangy]# mongo 
MongoDB shell version: 2.4.6 
connecting to: tank 
> use test      //創建 or 切換數據庫 
switched to db test 
> db.dropDatabase()  //刪除數據庫 
{ "dropped" : "test", "ok" : 1 } 

二,php創建,切換,刪除數據庫

1,切換數據庫

$mongo = new Mongo(); 
$db = $mongo->selectDB('test');  //切換數據庫 

2,創建數據庫

$mongo = new Mongo(); 
$db = $mongo->selectDB('test'); 
$users = $db->createCollection("users"); 
 
$alldb = $mongo->listDBs(); //列出所有數據庫 
print_r($alldb);      //可以看到db創建成功了 

在這裡要注意一下,如果你不創建一個collection(根關系型數據庫的表基本上是一樣的),是創建不了數據庫的。

3,刪除數據庫

$mongo = new Mongo(); 
$db = $mongo->selectDB('test'); 
$db->drop(); 

三,小節

這篇文章很簡單吧,哈哈,不想在一篇文章裡面寫太多的東西,折開來寫,看的更清楚一點,更細一點。
在這兒要提一下,mongodb命令下的幫助,這個對於命令行操作很有幫助。

1,db的幫助

db.AddUser(username,password) 添加用戶 
db.auth(usrename,password)   設置數據庫連接驗證 
db.cloneDataBase(fromhost)   從目標服務器克隆一個數據庫 
db.commandHelp(name)      returns the help for the command 
db.copyDatabase(fromdb,todb,fromhost) 復制數據庫fromdb---源數據庫名稱,todb---目標數據庫名稱,fromhost---源數據庫服務器地址 
db.createCollection(name,{size:3333,capped:333,max:88888}) 創建一個數據集,相當於一個表 
db.currentOp()         取消當前庫的當前操作 
db.dropDataBase()       刪除當前數據庫 
db.eval(func,args)       run code server-side 
db.getCollection(cname)    取得一個數據集合,同用法:db['cname'] or 
db.getCollenctionNames()    取得所有數據集合的名稱列表 
db.getLastError()       返回最後一個錯誤的提示消息 
db.getLastErrorObj()      返回最後一個錯誤的對象 
db.getMongo()         取得當前服務器的連接對象get the server 
db.getMondo().setSlaveOk()   allow this connection to read from then nonmaster membr of a replica pair 
db.getName()          返回當操作數據庫的名稱 
db.getPrevError()       返回上一個錯誤對象 
db.getProfilingLevel()     獲取profile level 
db.getReplicationInfo()    獲得重復的數據 
db.getSisterDB(name)      get the db at the same server as this onew 
db.killOp()          停止(殺死)在當前庫的當前操作 
db.printCollectionStats()   返回當前庫的數據集狀態 
db.printReplicationInfo()    打印主數據庫的復制狀態信息 
db.printSlaveReplicationInfo()    打印從數據庫的復制狀態信息 
db.printShardingStatus()    返回當前數據庫是否為共享數據庫 
db.removeUser(username)    刪除用戶 
db.repairDatabase()      修復當前數據庫 
db.resetError() 
db.runCommand(cmdObj)     run a database command. if cmdObj is a string, turns it into {cmdObj:1} 
db.setProfilingLevel(level)  設置profile level 0=off,1=slow,2=all 
db.shutdownServer()      關閉當前服務程序 
db.version()          返回當前程序的版本信息 

2,表的幫助,格式,db.表名.help()

db.test.find({id:10})     返回test數據集ID=10的數據集 
db.test.find({id:10}).count() 返回test數據集ID=10的數據總數 
db.test.find({id:10}).limit(2) 返回test數據集ID=10的數據集從第二條開始的數據集 
db.test.find({id:10}).skip(8) 返回test數據集ID=10的數據集從0到第八條的數據集 
db.test.find({id:10}).limit(2).skip(8) 返回test數據集ID=1=的數據集從第二條到第八條的數據 
db.test.find({id:10}).sort()  返回test數據集ID=10的排序數據集 
db.test.findOne([query])    返回符合條件的一條數據 
db.test.getDB()        返回此數據集所屬的數據庫名稱 
db.test.getIndexes()      返回些數據集的索引信息 
db.test.group({key:...,initial:...,reduce:...[,cond:...]})  返回分組信息 
db.test.mapReduce(mayFunction,reduceFunction,<optional params>) 這個有點像存儲過程 
db.test.remove(query)           在數據集中刪除一條數據 
db.test.renameCollection(newName)     重命名些數據集名稱 
db.test.save(obj)             往數據集中插入一條數據 
db.test.stats()              返回此數據集的狀態 
db.test.storageSize()           返回此數據集的存儲大小 
db.test.totalIndexSize()          返回此數據集的索引文件大小 
db.test.totalSize()            返回些數據集的總大小 
db.test.update(query,object[,upsert_bool]) 在此數據集中更新一條數據 
db.test.validate()             驗證此數據集 
db.test.getShardVersion()         返回數據集共享版本號 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved