您的位置:首页 > 数据库 > Mongodb

Mongodb快速入门之使用Java操作Mongodb

2011-09-29 10:43 731 查看
  我们希望用不同的方式,通过JAVA代码向Mongodb插入以上格式的JSON数据

  第一种方法,是使用BasicDBObject,方法如下代码所示:

BasicDBObject document =new BasicDBObject();

document.put("database","mkyongDB");

document.put("table","hosting");

BasicDBObject documentDetail =new BasicDBObject();

documentDetail.put("records","99");

documentDetail.put("index","vps_index1");

documentDetail.put("active","true");

document.put("detail", documentDetail);

collection.insert(document);

  第二种方法是使用BasicDBObjectBuilder对象,如下代码所示:

  BasicDBObjectBuilder documentBuilder
= BasicDBObjectBuilder.start()

  .add("database","mkyongDB")

  .add("table","hosting");

  BasicDBObjectBuilder documentBuilderDetail = BasicDBObjectBuilder.start()

  .add("records","99")

  .add("index","vps_index1")

  .add("active","true");

  documentBuilder.add("detail", documentBuilderDetail.get());

  collection.insert(documentBuilder.get());

  第三种方法是使用Map对象,代码如下:

  Map documentMap =new HashMap();

  documentMap.put("database","<
4000
span style="font-size:18px;color:#000000;">mkyongDB");

  documentMap.put("table","hosting");

  Map documentMapDetail =new HashMap();

  documentMapDetail.put("records","99");

  documentMapDetail.put("index","vps_index1");

  documentMapDetail.put("active","true");

  documentMap.put("detail", documentMapDetail);

  collection.insert(new BasicDBObject(documentMap));

  第四种方法,也就是最简单的,即直接插入JSON格式数据

  String json ="{'database' : 'mkyongDB','table' : 'hosting',"+

  "'detail' : {'records' : 99, 'index' : 'vps_index1', 'active' : 'true'}}}";

  DBObject dbObject =(DBObject)JSON.parse(json);

  collection.insert(dbObject);

  这里使用了JSON的parse方法,将解析后的JSON字符串转变为DBObject对象后再直接插入到collection中去。

mongodb的java driver执行“原生查询”语句

分类:
MongoDB 2011-09-29 10:43
186人阅读 评论(0)
收藏
举报

 DBObject o=(DBObject) JSON.parse("{ groups.groupName : 'group1' }");

              DBObject o2=(DBObject) JSON.parse("{ groups.size : 0 }");     

//这个格外的部分是 filed selection,为0你看结果里面就没有这个filed,如果为1则是只有这个filed被返回

DB db = new Mongo().getDB("test");
DBCollection coll = db.getCollection("UserInfo");
DBCursor cur = coll.find(o,o2).slaveOk();   //slaveOk是说在replica模式下,访问secondary(扶手)需要slaveOk
   
while(cur.hasNext()){
System.out.println(cur.next());

}

==================result======================================================

{ "_id" : { "$oid" : "4e82e5fe6c7de47b217684a8"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}

{ "_id" : { "$oid" : "4e82e6566c7d169e3e4873d7"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}

{ "_id" : { "$oid" : "4e82e6c26c7d1f4ace2dfe29"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}

{ "_id" : { "$oid" : "4e82e6e96c7d1fb39cf66eb4"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}

{ "_id" : { "$oid" : "4e82e6fb6c7da5fa87fb8b13"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}

{ "_id" : { "$oid" : "4e82e74c6c7d653edb297c32"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}

{ "_id" : { "$oid" : "4e82ea436c7da72043cf2e4c"} , "className" : "vo.UserInfo" , "email" : "a@email.com" , "groups" : [ { "groupName" : "group1"} , { "groupName" : "group2"}]}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息