在java中使用mongodb

来源:luqidong 发布时间:2013-12-29 20:59:46 点击数:

1、在众多的mongodb驱动之中,java驱动也许是在生产环境里使用最平凡的一个,除了后台是纯java的应用之外java驱动也是各种jvm语言驱动的基础,比如Scala、Clojure和JRuby。java中缺乏按字面表示的字典,这让BSON文档的结构略显复杂,但就整个驱动而言,使用起来还算方便。

2、要构造BSON文档,可以初始化一个BasicBSONObject实例,它实现了map借口,围绕get()和put()操作提供了一套简单的API。

为了方便期间,BasicBSONObject狗仔其接受了一个可选的初始化键值对用它就能构造一个简单的文档,比如像下面这样:

DBObject simple = new BasicBSONObject(“username”,“78oa”);

simple.put("zip",10011);

添加子文档意味着创建一个额外的BasicBSONObject,其中的数组就是普通的java数组:

DBObject doc=new BasicBSONObject();

string[] =tags ={"database","78oa"};

doc.put("url","www.78oa.com");

doc.put("tags",tags);

DBObject attrs = new BasicBSONObject();

attrs.put("lastlogin","new data()");

attr.put("pingtime",20);

doc.put("attrs",attrs);

System.out.println("doc.toString");

最后请注意,你可以通过文档的toString()方法来查看它。

3、如何连接:

创建一个单借点连接是一件很容易的事情,只要记得把调用封装在一个try代码块里面就行了:

 try{

  mongo conn =new Mongo("localhost",27017);

} catch (Exception e){

   throw new RuntimeException(e);

}

要连接副本,先构造一个ServerAddress对象列表,将他传给Mongo构造器:

List servers =new ArryList();

servers.add(new ServerAddrees("locakhost",30000));

servers.add(new ServerAddrees("locakhost",30001));

 try{

  mongo conn =new Mongo("localhost",27017);

} catch (Exception e){

   throw new RuntimeException(e);

}

java驱动中为写关注提供了灵活的支持,可以在Nongo、DB、DBCollection对象以及DBCollection的任意写法上指定不同的关注,这里我们通过WriteConcern配置类在连接上制定了全局关注:

WriteConcern w=new WriteConcern(1,2000);

conn.setWriteConcern(w);