首先是装好环境,先去下载mongo,地址http://www.mongodb.org/downloads
java驱动程序下载:http://www.mongodb.org/display/DOCS/Drivers
再来看下快速上手的文档:http://www.mongodb.org/display/DOCS/Quickstart
根据文档来做些练习,做到心中有数后,开始进入下面的开发了
mongoDB方面的配置,首先要保证我们创建的库是相对安全的,也就是说要经过权限的验证后,才可以访问。
权限的安全方面可以看这里:http://www.mongodb.org/display/DOCS/Security+and+Authentication
开始操作:
1.启动mongo服务。我的是windows xp上面的,用cmd,进入解压后目录的bin,我的是D:\soft\mongo\bin ,然后执行mongod --dbpath d:\mongo_data 服务就启动了。--dbpath的意思就是你数据文档的存放处。
2.创建DB,然后创建管理员用户
cmd进入mongo解压后的目录,执行bin 下面的mongo ,默认进入的是test,我们切换下,
> use my_mongo
> db.addUser("spell", "007")
OK,管理员账户创建完成了,你可以查询的到,命令是
db.system.users.find()
关于安全方面的命令:
创建管理员帐号
> use admin
> db.addUser("theadmin", "anadminpassword")
授权:
> db.auth("theadmin", "anadminpassword")
查看用户列表:
db.system.users.find()
只读权限的用户创建
db.addUser("guest", "passwordForGuest", true)
删除管理员
db.system.users.remove( { user: username } )
3.重新DB启动服务,并且以安全模式运行。
操作步骤:到DB服务端的CMD窗口,先ctrl+c 停止服务运行,然后执行mongod --dbpath d:\mongo_data --auth ,--auth的表示要对管理员进行授权验证。
4.创建个java工程,然后引入mongo的java驱动jar包,我的一个java例子,文件:MongoTest.java
package com.spell;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;
public class MongoTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
MongoTest mt = new MongoTest();
//mt.insertMemo();
mt.getMemo();
//mt.query();
//mt.delete();
}
public static DBCollection getDBCollection(String collectionName)
throws Exception {
Mongo m = new Mongo("localhost", 27017);
DB db = m.getDB("my_mongo");
if(db.authenticate("spell", "007".toCharArray())){
System.out.println("auth success");;
}
DBCollection coll = db.getCollection(collectionName);
return coll;
}
public void insertMemo() throws Exception {
DBCollection coll = MongoTest.getDBCollection("memo");
BasicDBObject doc = new BasicDBObject();
doc.put("title", "one meeting");
doc.put("palce", "one meeting");
doc.put("time", new Date());
coll.insert(doc);
}
public void getMemo() throws Exception {
DBCollection coll = MongoTest.getDBCollection("memo");
BasicDBObject obj = (BasicDBObject) coll.findOne();
System.out.println(obj);
}
public void query() throws Exception {
DBCollection coll = MongoTest.getDBCollection("memo");
BasicDBObject obj = new BasicDBObject();
obj.put("title", "one meeting");
DBCursor cursor = coll.find(obj);
while (cursor.hasNext()) {
Date date = (Date) cursor.next().get("time");
System.out.println(date.toLocaleString());
}
cursor.close();
}
public void delete() throws Exception {
DBCollection coll = MongoTest.getDBCollection("memo");
BasicDBObject query = new BasicDBObject();
query.put("title", "one meeting");
//找到并且删除,并返回删除的对象
DBObject removeObj=coll.findAndRemove(query);
System.out.println(removeObj);
}
}