mongodb中有三元素:数据库,集合,文档,其中"集合"就是对应关系数据库中的"表","文档‘对应“行'。


1、 首先,下载mongoDB对Java支持的驱动包
               

<dependency>
<groupId> org.mongodb</groupId >
<artifactId> mongo-java-driver </artifactId>
<version> 2.9.3</ version>
</dependency>


2、java 连接mongoDB 数据库

/**

url 数据库ip地址

port 端口

dbNname 数据库名称

tmcinfo 集合名称

**/


Mongo mongo = new Mongo(url,Integer.parseInt(port));
db = mongo.getDB(dbName);
if(db.authenticate(user, pwd.toCharArray())){
return true ;
}
DBCollection users = db.getCollection("tmcinfo");

3、crud操作


查询


DBCursor cur = users.find();
while (cur.hasNext()) {
System.out.println(cur.next());
}

查询删除:查询age=25的数据,并且删除


dbCollection.findAndRemove(new BasicDBObject("age", 25))

插入


BasicDBObject document = new BasicDBObject();
document.put("id", 1001);
document.put("msg", "hello world mongoDB in Java");
DBCollection dbCollection = db.getCollection( TABLE_NAME);
dbCollection .insert(document);


批量插入:一次批量插入式单个TCP请求,所以会避免零碎的请求带来的开销。


List<DBObject> list = new ArrayList<DBObject>();


dbCollection .insert(list).getN());//getN() 影响行数



删除:


dbCollection .remove(new BasicDBObject("age", new BasicDBObject("$gte", 24))).getN())


删除整个集合


dbCollection.remove();比db.drop_collection(TABLE_NAME) 速度慢,后者是直接删除集合,但是所有索引也被删除了



修改:
dbCollection .update(new BasicDBObject("_id", new ObjectId("4dde2b06feb038463ff09042")), new BasicDBObject("age", 121)

返回已更新的文档


查询age=26的数据,并且修改name的值为Abc
dbCollection.findAndModify(new BasicDBObject("age", 26), new BasicDBObject("name", "Abc")));

JAVA - MONGODB

文档的地址

​http://api.mongodb.org/java​​/

官方入门地址


​http://www.mongodb.org/display/DOCS/Java+Tutorial​