欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java操作Mongodb数据库

程序员文章站 2022-05-11 17:19:00
...

1. 首先,从MongoDB的官方网站获取java的驱动mongo-2.7.2.jar,并把它放入工程的classpath中。

2. 如果是连接到本地数据库,可以采用如下三种方式:

    Mongo mongo = new Mongo();

    Mongo m = new Mongo( "localhost" );
    Mongo m = new Mongo( "localhost" , 27017 );
3.获取数据库,如果不存在该数据库,将会被自动创建。
   DB db = mongo.getDB("localdb");

4.代码示例:

 

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 TestConnect {

	public static void main(String[] args) throws UnknownHostException, MongoException {
		Mongo mongo = new Mongo();
		DB db = mongo.getDB("localdb");
		// boolean auth = db.authenticate("", "");
		
		// 获取集合名称列表
		Set<String> collections = db.getCollectionNames();
		for (String collc : collections)
		{
			System.out.println(collc);
		}
		
		// 获取指定集合
		DBCollection coll = db.getCollection("user");
		BasicDBObject obj = new BasicDBObject();
		obj.put("name", "lisi");
		obj.put("age", "20");
		coll.insert(obj);
		
		// 查找对象
		DBObject object = coll.findOne();
		System.out.println(object);
		
		// 批量插入
		for (int i=0; i<5; i++)
		{
			coll.insert(new BasicDBObject().append("name", "name" + i).append("age", i));
		}
		
		// 统计数据
		System.out.println(coll.getCount());
		
		// 查询并迭代所有对象
		DBCursor cursor = coll.find();
		while (cursor.hasNext())
		{
			System.out.println(cursor.next());
		}
		
		// 查询子集
		BasicDBObject query = new BasicDBObject();
		query.put("name", "lisi");
		DBCursor queryResult = coll.find(query);
		while (queryResult.hasNext())
		{
			System.out.println(queryResult.next());
		}
	}
}