Mongo m = newMongo();//或者
Mongo m = new Mongo( "localhost");//或者
Mongo m = new Mongo( "localhost" , 27017);//或者, to connect to a replica set, supply a seed list of members
Mongo m = new Mongo(Arrays.asList(new ServerAddress("localhost", 27017),new ServerAddress("localhost", 27018),new ServerAddress("localhost", 27019)));
DB db=m.getDB("mydb" );
3、安全验证(可选)
boolean auth = db.authenticate(userName, password);
4、获取集合列表。每个数据库都存在零个或多个集合,需要时你可以获得他们的列表:
Set colls =db.getCollectionNames();for(String s : colls) {
System.out.println(s);
}
5、获得一个集合。要获得某个特定集合,你可以指定集合的名字,并使用getCollection()方法:
DBCollection coll = db.getCollection("blog");
6、插入文档
mongodb存储JSON格式的文档,而在Java中表示这种数据格式的最简便的类就是Map了。MongoDB Java Driver中提供的BasicDBObject就是个Map(它继承自LinkedHashMap并实现DBObject接口),它会将Map中的数据转换成BSON格式传输到mongodb。
BasicDBObject doc = newBasicDBObject();
doc.put("name", "MongoDB");
doc.put("type", "database");
doc.put("count", 1);
BasicDBObject info= newBasicDBObject();
info.put("x", 203);
info.put("y", 102);
doc.put("info", info);
coll.insert(doc);
mongodb中每个插入的文档会产生个唯一标识_id。当调用coll.insert(doc);时,driver会检查其中是否有_id字段,如果没有则自动生成ObjectId实例来作为_id的值,这个ObjectId由4部分编码而成:当前时间、机器标识、进程号和自增的整数。insert函数也支持插入文档列表:insert(List list)
7、查询
find函数是查询集合的,它返回的DBCursor是DBObject的迭代器。如下代码:
BasicDBObject query = newBasicDBObject();
query.put("i", 71);
cursor=coll.find(query);try{while(cursor.hasNext()) {
System.out.println(cursor.next());
}
}finally{
cursor.close();
}
8、建立索引
创建索引语句如:coll.createIndex(new BasicDBObject(“i”, 1)); ,其中i表示要索引的字段,1表示升序(-1表示降序)。可以看到,DBObject成为java客户端通用的结构表示。查看索引使用DBCollection.getIndexInfo()函数。