1.下載mongodb的windows版本,有32位和64位版本,根據系統情況下載,下載地址:http://www.mongodb.org/downloads
2.解壓縮至D:/mongodb即可
3.建立資料庫檔案的存放位置,比如D:/mongodb/data/db。啟動mongodb服務之前需要必須建立資料庫檔案的存放資料夾,否則命令不會自動建立,而且不能啟動成功。預設資料夾路徑為c:/data/db.使用系統預設資料夾路徑時,啟動服務無需加--dbpath 引數說明,但資料夾還要手工建立
4.開啟cmd命令列,進入D:/mongodb/bin目錄,輸入如下的命令啟動mongodb服務:
D:/mongodb/bin>mongod.exe --dbpath D:/mongodb/data/db
顯示:
Sat Jan 08 18:49:34 MongoDB starting : pid=232 port=27017 dbpath=E:/mongodb/data
32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
Sat Jan 08 18:49:34 db version v1.6.5, pdfile version 4.5
Sat Jan 08 18:49:34 git version: 0eb017e9b2828155a67c5612183337b89e12e291
Sat Jan 08 18:49:34 sys info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LI
B_VERSION=1_35
Sat Jan 08 18:49:34 [initandlisten] waiting for connections on port 27017
Sat Jan 08 18:49:34 [websvr] web admin interface listening on port 28017
表示啟動成功,最後兩行說明的資料庫埠和Web埠,預設分別是27017和28017,在瀏覽器中開啟http://localhost:28017,可以看到其相關的一些資訊。
可以通過新增引數--port的方式,來修改資料庫埠:D:/mongodb/bin>mongod.exe --port 10001 --dbpath D:/mongodb/data/db
5.再開啟一個cmd輸入:D:/mongodb/bin>mongo,或者雙擊mongo.exe,即可進行mongodb的客戶端命令操作了,測試下
>// the mongo shell is a javascript shell connected to the db > 3+3 6 > db test > // the first write will create the db: > db.foo.insert( { a : 1 } ) > db.foo.find()
{ _id : ..., a : 1 }
6.這樣每次啟動MongoDB很不方便,我們可以像安裝的MySQL一樣,把它作為Windows服務,這樣就方便多了。
安裝MongoDB的windows服務的方法為是在MongoDB安裝目錄下建立logs目錄,然後在CMD命令列輸入
D:/mongodb/bin>mongod --logpath D:/mongodb/logs/mongodb.log --logappend
--dbpath D:/mongodb/data/db --directoryperdb --serviceName MongoDB --install
顯示:
all output going to: D:/mongodb/logs/mongodb.log
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.
表示服務建立成功。
該命令列指定了日誌檔案:/logs/MongoDB.log,日誌是以追加的方式輸出的;
資料檔案目錄:/data/db,並且引數--directoryperdb說明每個DB都會新建一個目錄;
Windows服務的名稱:MongoDB;
以上的三個引數都是可以根據自己的情況而定的。
最後是安裝引數:--install,與之相對的是--remove
7,以後就可以在cmd下用命令net start MongoDB和net stop MongoDB來啟動和停止MongoDB了,也可以在本地服務中看到
通過介面來管理該服務。
mongodb一些基本的操作: db.foo.count() db.foo.copyTo(newColl) - duplicates collection by copying all documents ll; no indexes are copied. db.foo.convertToCapped(maxBytes) - calls {convertToCapped:'foo', size:ma command db.foo.dataSize() db.foo.distinct( key ) - e.g. db.foo.distinct( 'x' ) db.foo.drop() drop the collection db.foo.dropIndex(index) - e.g. db.foo.dropIndex( "indexName" ) or db.foo ex( { "indexKey" : 1 } ) db.foo.dropIndexes() db.foo.ensureIndex(keypattern[,options]) - options is an object with the ble fields: name, unique, dropDups db.foo.reIndex() db.foo.find([query],[fields]) - query is an optional query filter. field ional set of fields to return. e.g. db.foo.find( {x:77} , , x:1} ) db.foo.find(...).count() db.foo.find(...).limit(n) db.foo.find(...).skip(n) db.foo.find(...).sort(...) db.foo.findOne([query]) db.foo.findAndModify( { update : ... , remove : bool [, query: {}, sort: w': false] } ) db.foo.getDB() get DB object associated with collection db.foo.getIndexes() db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) db.foo.insert(obj) db.foo.mapReduce( mapFunction , reduceFunction , <optional params> ) db.foo.remove(query) db.foo.renameCollection( newName , <dropTarget> ) renames the collection db.foo.runCommand( name , <options> ) runs a db command with the given n e the first param is the collection name db.foo.save(obj) db.foo.stats() db.foo.storageSize() - includes free space allocated to this collection db.foo.totalIndexSize() - size in bytes of all the indexes db.foo.totalSize() - storage allocated for all data and indexes db.foo.update(query, object[, upsert_bool, multi_bool]) - instead of two you can pass an object with fields: upsert, multi db.foo.validate( <full> ) - SLOW db.foo.getShardVersion() - only for use with sharding db.foo.getShardDistribution() - prints statistics about data distributio cluster db.foo.getSplitKeysForChunks( <maxChunkSize> ) - calculates split points l chunks and returns splitter function
mongodb中的命令和方法是區分大小寫的.