1. 下載 MongoDB, Java Driver
下載地址:http://www.mongodb.org/downloads
下載地址:https://github.com/mongodb/mongo-java-driver/downloads
2. 安裝 MongoDB
查看快速上手文檔: http://www.mongodb.org/display/DOCS/Quickstart
下載後解壓即可。 直接運行:mongod.exe 即可啓動 MongoDB,非常小巧,方便
3. 增加安全權限
由於直接啓動 MongoDB 後,沒有賬號權限限制,不太安全。 爲了安全起見,可以增加權限限制
執行以下命令啓動MongoDB
mongod --dbpath ../data/db #"--dbpath" 爲數據文件的存儲位置
安全方面的設置可以查看文檔:http://www.mongodb.org/display/DOCS/Security+and+Authentication
use my_mongo #默認進入test 數據庫,切換爲 my_mongo db.addUser("prx", "prx123456") #創建my_mongo數據庫的賬號,密碼 db.system.users.find() #查看剛纔創建的賬號
重新啓動 MongoDB ,增加權限檢查
mongod --dbpath ../data/db --auth #"--auth" 表示需要賬號驗證
4. Java代碼示例
package prx.mongo;
import java.net.UnknownHostException;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
public class Test {
static DBCollection coll = null;
static DB db = null;
static {
Mongo m = null;
try {
m = new Mongo("localhost", 27017);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
db = m.getDB("my_mongo");
if (db.authenticate("prx", "prx123456".toCharArray())) {
System.out.println("auth success");
}
}
public static void main(String[] args) throws Exception {
// getMemo();
// insertMemo();
query();
// delete();
}
/**
*
* @param collectionName 相當於 Table 名
* @return
* @throws Exception
*/
public static DBCollection getDBCollection(String collectionName) throws Exception {
if(coll == null) {
coll = db.getCollection(collectionName);
}
return coll;
}
public static void insertMemo() throws Exception {
DBCollection coll = getDBCollection("member");
BasicDBObject doc = new BasicDBObject();
doc.put("name", "prx");
doc.put("city", "changsha");
doc.put("time", new Date());
coll.insert(doc);
}
public static void getMemo() throws Exception {
DBCollection coll = getDBCollection("member");
BasicDBObject obj = (BasicDBObject) coll.findOne();
System.out.println(obj);
}
public static void query() throws Exception {
DBCollection coll = getDBCollection("member");
BasicDBObject obj = new BasicDBObject();
obj.put("name", "prx");
DBCursor cursor = coll.find(obj);
while (cursor.hasNext()) {
Date date = (Date) cursor.next().get("time");
System.out.println(date);
}
cursor.close();
}
public static void delete() throws Exception {
DBCollection coll = getDBCollection("member");
BasicDBObject query = new BasicDBObject();
query.put("name", "prx");
// 找到並且刪除,並返回刪除的對象
DBObject removeObj = coll.findAndRemove(query);
System.out.println(removeObj);
}
}