Mongodb在Windows下安裝及配置

xusir發表於2013-09-10

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中的命令和方法是區分大小寫的.

相關文章