视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MongoDBJava连接
2020-11-09 07:35:22 责编:小采
文档


Java 连接MongoDB package mymaven;import java.net.UnknownHostException;import java.util.Set;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject;impor

Java 连接MongoDB

package mymaven;

import java.net.UnknownHostException;
import java.util.Set;

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 {
	/**
	 * @author ithomer.net
	 * @datetime 2013-11-11
	 */
	public static void main(String[] args) throws UnknownHostException, MongoException {
	Mongo mongo = new Mongo("172.27.9.104", 27017);	// 连接数据库
	DB db = mongo.getDB("mytestdb");	// 数据库
	Set cols = db.getCollectionNames();	// 获取数据库中所有的集合(类似于获取关系数据库中的表)
	
	// 打印出数据库中的集合,这里应当为null
	for (String s : cols) {
	System.out.println(s);
	}
	
	DBCollection collection = db.getCollection("mytestcoll");	// 创建一个集合
	collection.drop();	// 删除集合,插入数据时自动重建
	BasicDBObject obj = new BasicDBObject();	// 初始化一个基本DB对象,插入数据库的就是DB对象
	
	obj.put("from", "blog.ithomer.net");	// 放入几个键值对
	obj.put("to", "forum.ithomer.net");
	obj.put("subject", "ithomer.net");
	collection.insert(obj);	// 插入对象
	
	DBObject dbobj = collection.findOne();	// 查看一条记录,findOne()=find().limit(1);
	System.out.println(dbobj);	// 打印出刚才插入的数据
	
	// 插入10条{ranking:i}的数据
	for (int i = 0; i < 10; i++) {
	collection.insert(new BasicDBObject().append("ranking", i));
	}
	System.out.println("count: " + collection.getCount());	// 打印集合中的数据总数

	
	DBCursor cursor = collection.find();	// 然后我们使用这个游标来遍历集合
	while (cursor.hasNext()) {
	System.out.println(cursor.next());
	}
	// 简单的条件查询,查询ranking为1的记录
	BasicDBObject query = new BasicDBObject();
	query.put("ranking", 1);
	cursor = collection.find(query);
	System.out.println("collection find({\"ranking\":1}):");
	while (cursor.hasNext()) {
	System.out.println(cursor.next());
	}
	
	// 复杂的条件查询,查询ranking大于等于5小于9的记录
	query = new BasicDBObject();
	query.put("ranking", new BasicDBObject("$gte", 5).append("$lt", 9));
	cursor = collection.find(query);
	System.out.println("collection find({\"ranking\":[5-9)}):");
	while (cursor.hasNext()) {
	System.out.println(cursor.next());
	}
	
//	mongo.dropDatabase("mytestdb");	// 最后删除我们的测试数据库
	}
}

运行结果:

mytestcoll
system.indexes
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10107"} , "from" : "blog.ithomer.net" , "to" : "forum.ithomer.net" , "subject" : "ithomer.net"}
count: 11
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10107"} , "from" : "blog.ithomer.net" , "to" : "forum.ithomer.net" , "subject" : "ithomer.net"}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10108"} , "ranking" : 0}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10109"} , "ranking" : 1}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010a"} , "ranking" : 2}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010b"} , "ranking" : 3}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010c"} , "ranking" : 4}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010d"} , "ranking" : 5}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010e"} , "ranking" : 6}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010f"} , "ranking" : 7}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10110"} , "ranking" : 8}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10111"} , "ranking" : 9}
collection find({"ranking":1}):
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10109"} , "ranking" : 1}
collection find({"ranking":[5-9)}):
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010d"} , "ranking" : 5}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010e"} , "ranking" : 6}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd1010f"} , "ranking" : 7}
{ "_id" : { "$oid" : "52c62ed8e4b0f4de3dd10110"} , "ranking" : 8}

源码下载(maven)

mongodb数组示例:

	@SuppressWarnings("unchecked")
	public static void loadMediaTags(List mediaEntityList) {
	mediaEntityList.clear();
	
	try {
	Mongo mongo = new Mongo(CosineCluster.gMongo_HOST, CosineCluster.gMongo_PORT);
	DB db = mongo.getDB(CosineCluster.gMongo_DB);
	DBCollection collection = db.getCollection(CosineCluster.gMongo_Coll_Media);
	
	DBCursor cursor = collection.find();
	int index = 0;
	long startTime = System.currentTimeMillis();
	while(cursor.hasNext()){
	BasicDBObject obj = (BasicDBObject) cursor.next();
	
	long id = obj.getLong("_id");
	ArrayList tagList = (ArrayList) obj.get("tag");	// tag
	ArrayList keywordList = (ArrayList)obj.get("keyword");	// keyword
	ArrayList copyrightList = (ArrayList)obj.get("copyright");	// copyright
	
	
	MediaEntity mediaEntity = new MediaEntity();
	
	mediaEntity.setId(id);
	
	// tag
	for(int j=0; j actorsObjList = (ArrayList)obj.get("actors");	// actors
	for(int j=0; j directorObjList = (ArrayList)obj.get("director");	// director
	for(int j=0; j 100) {
	break;
	}
	System.out.println(index + " --- mediaEntity : " + mediaEntity.toString());
	}
	long costTime = System.currentTimeMillis() - startTime;
	System.out.println("load data costTime = " + index + "; costTime = " + costTime/1000f);
	
	} catch (Exception e) {
	e.printStackTrace();
	}
	}
	
	public static int getTagInt(String tag) {
	int tagIntId = -1;
	
	try {
	MongoClient mongo = new MongoClient(CosineCluster.gMongo_HOST, CosineCluster.gMongo_PORT);
	DB db = mongo.getDB(CosineCluster.gMongo_DB);
	DBCollection tagmapCollection = db.getCollection("recommend_tag_map");

	DBCursor cursor = tagmapCollection.find(new BasicDBObject("name", tag));	
	if(cursor == null || cursor.toArray().size() <= 0) {	// 处理小于2或n的映射关键字,下同
	return tagIntId;
	}
	DBObject obj = cursor.toArray().get(0);
	
	
	String name = tag;
	tagIntId = (Integer) obj.get("id");
	int num = (Integer) obj.get("num");
	
	mongo.close();
	} catch (UnknownHostException e) {
	e.printStackTrace();
	}
	
	return tagIntId;
	}

	public static int getActorInt(String actor) {
	int actorIntId = -1;
	try {
	MongoClient mongo = new MongoClient(CosineCluster.gMongo_HOST, CosineCluster.gMongo_PORT);
	DB db = mongo.getDB(CosineCluster.gMongo_DB);
	DBCollection tagmapCollection = db.getCollection("recommend_actor_map");
	
	DBCursor cursor = tagmapCollection.find(new BasicDBObject("name", actor));
	if(cursor == null || cursor.toArray().size() <= 0) {
	return actorIntId;
	}
	DBObject obj = cursor.toArray().get(0);
	
	String name = actor;
	actorIntId = (Integer) obj.get("id");
	int num = (Integer) obj.get("num");
	
	mongo.close();
	} catch (UnknownHostException e) {
	e.printStackTrace();
	}
	
	return actorIntId;
	}

下载本文
显示全文
专题