java连接MongoDB实例
直接上代码。因为我觉得我的注释写得挺详尽。http://www.agoit.com/images/smiles/icon_wink.gifimport 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 gaogao * @param args * @throws MongoException * @throws UnknownHostException */public static void main(String[] args) throws UnknownHostException,MongoException {// TODO Auto-generated method stub// 连接本地数据库Mongo m = new Mongo();// 创建名为new_test_db的数据库DB db = m.getDB("new_test_db");// 获取new_test_db中的集合(类似于获取关系数据库中的表)Set<String> cols = db.getCollectionNames();// 打印出new_test_db中的集合,这里应当为nullfor (String s : cols) {System.out.println(s);}// 创建一个叫做"new_test_col"的集合DBCollection collection = db.getCollection("new_test_col");// 初始化一个基本DB对象,最终插入数据库的就是这个DB对象BasicDBObject obj = new BasicDBObject();// 放入几个键值对obj.put("from", "搞搞");obj.put("to", "宝宝");obj.put("subject", "狗子爱宝子");//插入对象collection.insert(obj);//查看一条记录,findOne()=find().limit(1);DBObject dbobj=collection.findOne();//打印出刚才插入的数据System.out.println(dbobj);//现在我们来插入9条{ranking:i}的数据for(int i=0;i<9;i++){collection.insert(new BasicDBObject().append("ranking", i));}//打印集合中的数据总数,这里应当输出10System.out.println(collection.getCount());//下面我们来遍历集合,find()方法返回的是一个游标(cursor),这里的概念和关系数据库很相似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);while(cursor.hasNext()){System.out.println(cursor.next());}//下面是更复杂的条件查询,查询ranking大于5小于9的记录query=new BasicDBObject();query.put("ranking", new BasicDBObject("$gt", 5).append("$lt", 9));cursor=collection.find(query);while(cursor.hasNext()){System.out.println(cursor.next());}//最后删除我们的测试数据库m.dropDatabase("new_test_db");}}
最后附上eclipse的project,供大家参考。压缩包内已经包含了适用于MongoDB1.4的driver。
页:
[1]