㈠ mongodb是什麼類型的資料庫
MongoDB是一個基於分布式文件存儲的資料庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。MongoDB
是一個介於關系資料庫和非關系資料庫之間的產品,是非關系資料庫當中功能最豐富,最像關系資料庫的。他支持的數據結構非常鬆散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系資料庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
㈡ 如何安裝,配置MongoDB
來1
下載mongodb的windows版本,有32位和源64位版本,根據系統情況下載
2
創建資料庫文件的存放位置,比如D:/mongodb/data/db。啟動mongodb服務之前需要必須創建資料庫文件的存放文件夾,否則命令不會自動創建,而且不能啟動成功。默認文件夾路徑為c:/data/db.使用系統默認文件夾路徑時,啟動服務無需加--dbpath 參數說明,但文件夾還要手工創建
3
打開cmd命令行,進入D:/mongodb/bin目錄,輸入如下的命令啟動mongodb服務:
D:/mongodb/bin>mongod.exe --dbpath D:/mongodb/data/db
4
再打開一個cmd輸入:D:/mongodb/bin>mongo 127.0.0.1/admin,或者雙擊mongo.exe,即可進行mongodb的客戶端命令操作了:
㈢ mongodb 怎麼判斷資料庫文件data/db ( db.0,.db.1 ,db.ns )
1)列出當前的資料庫
MongoDB shell version: 1.8.1
connecting to: test
> show dbs -www.linuxidc.com-
admin 0.03125GB
local (empty)
可以使用show dbs來列出當前有多少個資料庫,上面看到的是有兩個,分別是admin和local。
2) 定義新的資料庫名
我們通過使用「use new-databasename」的語法去使用一個新的資料庫,注意,即使你的資料庫還沒建立起來,依然可以這樣使用,因為mongodb會在真正插入了數據後,才會真正建立起來。
>use mkyongdb
switched to db mkyongdb
> show dbs
admin 0.03125GB
local (empty)
注意,在use mkyongdb後,mkyongdb實際上還沒真正建立起來,只是表明目前是在使用mkyongdb了。
3)保存數據
定義一個collection,名為「users」,然後插入數據,如下:
> db.users.save( {username:"mkyong"} )
> db.users.find()
{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }
>
> show dbs -www.linuxidc.com-
admin 0.03125GB
local (empty)
mkyongdb 0.03125GB
可以看到,用db.users.find()可以找出已插入的數據。這個時候,名為「users」的collection已經建立起來了,同時,資料庫mkyongdb也建立起來了。
㈣ 濡備綍璁劇疆mongodb榛樿ゆ暟鎹搴撹礬寰
鎵撳紑鐧懼害棣栭〉錛屾悳緔⑩淢ongoDB鈥濓紝濡備笅鍥炬墍紺猴細
緗戠珯涓婚〉涓錛岀偣鍑燴淒OWNLOAD MONGODB鈥濓紝騫朵笅杞芥渶鏂扮ǔ瀹氱増鏈錛屽備笅鍥炬墍紺猴細
涓嬭澆涓嬫潵鐨勬槸涓涓猰si瀹夎呮枃浠訛紝鐐瑰嚮榪涜屽畨瑁咃紝榛樿ゅ畨瑁呭埌C:\Program File鎴朇:\Program Files (x86)鏂囦歡澶鍐咃紝濡備笅鍥炬墍紺猴細
閰嶇疆鐜澧冨彉閲錛屽彸閿鈥滄垜鐨勭數鑴戔->"楂樼駭緋葷粺璁劇疆"->"楂樼駭"->"鐜澧冨彉閲"錛屽湪緋葷粺鍙橀噺涓鎵懼埌Path鍙橀噺鍊礆紝榪涜屼慨鏀癸紝鍦ㄦ湯灝捐拷鍔 ;C:\Program Files (x86)\MongoDB\bin錛岋紙褰撶劧浣犱篃鍙浠ュ皢絎3姝ラや腑鐨凪ongoDB鏂囦歡澶規嫹璐濆埌鍏朵粬紓佺洏璺寰勪笅錛屾垜灝辨槸榪欐牱鍋氱殑錛夛紝濡備笅鍥炬墍紺猴細
涓轟簡楠岃瘉鐜澧冨彉閲忛厤緗鎴愬姛錛屾墦寮CMD鍛戒護鎻愮ず絎︼紝杈撳叆 mongod -help錛屼笅闈浼氱綏鍒椾竴浜涘垪鐨勯厤緗鍙傛暟錛岃存槑宸叉垚鍔燂紝濡備笅鍥炬墍紺猴細
鍦∕ongoDB鏂囦歡澶逛笅鍜宐in鐩褰曞悓綰х洰褰曚笅錛屾柊寤轟竴涓猟ata鏂囦歡澶癸紝data鏂囦歡澶逛笅鍐嶅垎鍒鏂板緩涓涓猟b鍜宭og鏂囦歡澶癸紝鍒嗗埆鐢ㄦ潵瀛樻斁鏁版嵁鏂囦歡鍜屾棩蹇楁枃浠訛紝濡備笅鍥炬墍紺猴細
鍦鍛戒護琛涓杈撳叆浠ヤ笅鍐呭
mongod --dbpath "F:\MongoDB\data\db" --logpath
"F:\MongoDB\data\log\MongoDB.log" --install --serviceName "MongoDB"
榪欓噷鏄鏃ュ織璺寰勫拰鏁版嵁璺寰勶紝鍏蜂綋鐨勮礬寰勬牴鎹鑷宸辨暟鎹鍜屾棩蹇楁枃浠剁殑鏂囦歡璺寰勭浉搴旇繘琛屼慨鏀癸紝榪欓噷MongoDB.log灝辨槸寮濮嬪緩絝嬬殑鏃ュ織鏂囦歡錛--serviceName "MongoDB" 鏈嶅姟鍚嶄負MongoDB銆傝繖鏍峰氨鍦╓indows涓嬫垚鍔熷緩絝嬩簡MongoDB鐨勬湇鍔★紝濡備笅鍥炬墍紺猴細
鍦ㄢ滆繍琛屸濅腑杈撳叆鈥services.msc鈥濓紝鎵撳紑鈥滄湇鍔♀濈$悊鐣岄潰錛屽彲浠ョ湅鍒癕ongoDB榪欎釜鏈嶅姟錛岀偣鍑誨垪琛ㄤ腑鐨勨淢ongoDB鈥濓紝鍐嶇偣鍑燴滃惎鍔ㄢ濇寜閽錛屽氨灝哅ongoDB鎴愬姛鍚鍔ㄤ簡錛屽備笅鍥炬墍紺猴細
㈤ windows下安裝好mongodb後怎麼創建資料庫
一、安裝mongoDB
1、解壓mongodb-win32-i386-1.8.2至E:\MyProgram\mongodb-win32-i386-1.8.2(你可以按照自己的路徑來,路徑中最好不要有空格,要不然麻煩)
2、新建文件夾C:\DATA\DB,這是mongoDB的默認數據文件夾,你也可以在文件夾E:\MyProgram\mongodb-win32-i386-1.8.2新建一個文件夾data作為mongoDB的資料庫文件存儲目錄
3、進入CMD,運行命令E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod.exe -dbpath E:\MyProgram\mongodb-win32-i386-1.8.2\data,OK,mongoDB已經安裝成功並已經在運行中了,你將會看到如下:
此時是mongoDB的運行狀態,你可以按Ctrl+C結束運行狀態或者直接關掉CMD結束運行。
二、運行mongoDB時的錯誤與處理
完成安裝後,結束掉所有CMD窗口,然後進行如下操作:
1、運行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,可能會報錯誤:couldn't connect to server 127.0.0.1 shell/mongo.js,原因是mongod.exe沒有啟動,
2、既然沒啟動,那咱就啟動唄,運行E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongod,可能會報錯誤:dbpath (/data/db/) does not exist, terminating,看這樣子,本人覺得還得在data文件夾下再建一個db文件夾啊,如此即新建一db文件夾,再運行mongod命令,結果提示一樣,不知道怎麼搞啦,咱google吧
找到文章http://www.mongodb.org/display/DOCS/Starting+and+Stopping+Mongo
說「To start Mongo in default mode, where data will be stored in the /data/db directory (or c:\data\db on Windows), and listening on port 27017」,哦,原來默認的文檔路徑在c:\data\db,啥也不說,直接按這個建文件夾,再次運行命令mongod,OK了,啟動成功,這個命令窗口不能關閉,否則mongoDB就退出了
三,使用mongo命令
保持mongod命令窗口的運行狀態,再新開一命令窗口
輸入E:\MyProgram\mongodb-win32-i386-1.8.2\bin\mongo,出現
MongoDB shell version:1.8.2
connecting to:test
>
OK,連接成功。
1,show dbs 顯示資料庫列表
2,use Northwind 進入Northwind資料庫,大小寫敏感
3,show collections 顯示資料庫中的集合
4,db 用於查看當前所在的資料庫
5,db.Customer.count() 查看集合Customer的記錄總數
6,db.Customer.findOne({"_id":"1"}) 查看CustomerId=1的記錄
新增數據
1,use MyTest,這個資料庫不存在,無所謂,mongo會創建,
MongoDB在使用前,並不要求您事先創建好相應的資料庫,設計數據表結構!
在MongoDB中,沒有【表】的概念,取而代之的是【集合】,也沒有【數據記錄】的概念,取而代之的是【文檔】,我們可以把【文檔】理解成一個【對象】,任意的對象,甚至可以有復雜的嵌套層次。
因此,我們不用再寫代碼從【數據表欄位】到C#類的【屬性,欄位】的轉換了,現在直接就可以讀寫整個對象了。
而且MongoDB不支持Join操作,所以,如果有【關聯】操作,就需要你自己來處理
2,item={"Key":"1","text":"wokao","number":3}
3,db.table1.insert(item),mongo將建立集合table1,並將item插入,完成了新增加資料庫的工作
4,db.table1.find()顯示table1中的數據,MongoDB的文檔使用的是一種稱為BSON格式的對象,與Javascript中的JSON類似
5,額外的,輸入item1={"Id":5,"str":"asdfasdf"},再插入db.table1.insert(item1),再用find()命令看,也插入成功了~,注意到結構和item不一樣!但不建議這樣做。
注意到:【每個文檔有一個名為 "_id" 的成員】,我可沒有定義啊。
其實,MongoDB會為每個文檔都創建這樣一個文檔成員,我們指定的 "key", "id" 對於MongoDB來說:它們並不是【文檔的主鍵】,MongoDB只認 "_id",你可以指定,但如果不指定,MongoDB就自動添加。
修改數據
1,var t=db.table1.findOne({"Id":5}),獲取一條記錄
2,t.str="wokao"
3,db.table1.update({"Id":5},t)
刪除數據
db.table1.remove({"Id":5})
查找數據
上面已經有find和findOne命令,即用於查詢
db.table1.find()
MongoDB的查詢條件中,並沒有 >, <, >= , <= 這些運算符,而是使用 "$lt", "$lte", "$gt", "$gte"
新建表
db.MyTest.table2.save({})
刪除表
db.table1.drop()或db.runCommand({"drop","table1"})
刪除資料庫
db.runCommand({"dropDatabase": 1}),此命令只能刪除當前資料庫
獲取服務端狀態信息
db.runCommand({"serverStatus" : 1})