mongodb java客户端_初识MongoDB(四)--MongoDB客户端Java方式访问

在MongoDB的官网已经很详细的介绍了各种客户端的使用,其中也包括java的,在此,仅对几个比较疑惑的地方做个标注:

(1)、如何向db中添加collection?

如果在api文档中找不到答案,那就去看源代码吧。可以看到com.mongodb.DB类中是如何定义getCollection方法的。其中DB类是抽象类,且doGetCollection(name)方法也是抽象的。

/**

* Gets a collection with a given name.

* If the collection does not exist, a new collection is created.

* @param name the name of the collection to return

* @return the collection

*/

public final DBCollection getCollection( String name ){

DBCollection c = doGetCollection( name );

return c;

}

可见,当调用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接口定义的,具体定义如下:

public interface BSONObject {

/**

* Sets a name/value pair in this object.

* @param key Name to set

* @param v Corresponding value

* @return v

*/

public Object put( String key , Object v );

}

而append( String key , Object val )方法的定义是在BasicDBObject类中,具体定义如下:

public class BasicDBObject extends BasicBSONObject implements DBObject {

@Override

public BasicDBObject append( String key , Object val ){

put( key , val );

return this;

}

}

可以看出,put方法返回的是value值,而append方法返回的是对象本身,这样就可以向使用链式的方式添加数据,如:new BasicDBObject().append("username","zhang").append("password","111111");

参考资料:

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-06-09 11:05

浏览 8939

分类:数据库

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值