在MongoDB的官网已经很详细的介绍了各种客户端的使用,其中也包括java的,在此,仅对几个比较疑惑的地方做个标注:
(1)、如何向db中添加collection?
如果在api文档中找不到答案,那就去看源代码吧。可以看到com.mongodb.DB类中是如何定义getCollection方法的。其中DB类是抽象类,且doGetCollection(name)方法也是抽象的。
可见,当调用db.getCollection( String name )方法时,如果以name命名的collection不存在,则自动创建一个,并返回。
(2)、BasicDBObject的append和put两个方法有何区别?
首先看一下BasicDBObject的继承结构,com.mongodb.BasicDBObject --》com.mongodb.DBObject(接口) --》org.bson.BSONObject(接口)。
其中,put( String key , Object v )方法是BSONObject接口定义的,具体定义如下:
而append( String key , Object val )方法的定义是在BasicDBObject类中,具体定义如下:
可以看出,put方法返回的是value值,而append方法返回的是对象本身,这样就可以向使用链式的方式添加数据,如:new BasicDBObject().append("username","zhang").append("password","111111");
原文:http://www.cnblogs.com/Wen-yu-jing/p/3533734.html