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)
返回已更新的文档
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")));
dbCollection.findAndModify(new BasicDBObject("age", 26), new BasicDBObject("name", "Abc")));
JAVA - MONGODB
API文档的地址
官方入门地址