JAVA 操作MONGOD

package com;

import org.bson.types.ObjectId;

import com.mongodb.BasicDBObject;
import com.mongodb.Bytes;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.QueryOperators;
import com.mongodb.util.JSON;

public class MongodCURD {

 /**
  * @param args
  */
 private Mongo mg = null;
 private DB db;
 private DBCollection users;
 public static void main(String[] args) {
  MongodCURD db = new MongodCURD();
  db.init();
  db.queryAll();
//  db.add();
  //db.remove("4e852356a14c1336519a321a");
  //db.modify("4e8522dba14cf9d707623817");
  //db.queryAll();
  //db.testOthers();
  db.destroy();
  

 }
 
 public void init()
 {           
  try {
   mg = new Mongo();
  } catch (Exception e) {
   e.printStackTrace();
  }
  db = mg.getDB("test");
  users = db.getCollection("things");
 }
 
 public void destroy()
 {
  if(mg!=null)
  {
   mg.close();
   mg=null;
   db=null;
   users=null;
   System.gc();
  }
 }
 public void queryAll()
 {
  print("查询所有数据");
  DBCursor cur = users.find();
  while(cur.hasNext())
  {
   print(cur.next());
  }
 }
 public void add()
 {
  queryAll();
  print("count:"+users.count());
  DBObject user = new BasicDBObject();
  user.put("name","tuping");
  user.put("age", 28);
  user.put("sex", "男");
  print(users.save(user).getN());
  
 }
 public void modify(String Id)
 {
  
  print("修改:"+users.update(this.getDBObject("_id",getObjectId(Id)),this.getDBObject("name","吴蔚玲"),true,false).getN());
 }
 public void remove(String Id)
 {
  queryAll();
  DBObject o1 = new BasicDBObject();
  o1.put("_id", Id);
  print("删除ID="+Id+users.remove(new BasicDBObject("_id",new ObjectId(Id))));
  
 }
 public ObjectId getObjectId(String key)
 {
  return new ObjectId(key);
 }
 
 public BasicDBObject getDBObject(String key,Object value)
 {
  return new BasicDBObject(key,value);
 }
 public void print(Object o)
 {
  System.out.println(o);
 }
 
 public void query() {
     //查询所有
     //queryAll();
    
     //查询id = 4de73f7acd812d61b4626a77
     print("find id = 4de73f7acd812d61b4626a77: " + users.find(new BasicDBObject("_id", new ObjectId("4de73f7acd812d61b4626a77"))).toArray());
    
     //查询age = 24
     print("find age = 24: " + users.find(new BasicDBObject("age", 24)).toArray());
    
     //查询age >= 24
     print("find age >= 24: " + users.find(new BasicDBObject("age", new BasicDBObject("$gte", 24))).toArray());
     print("find age <= 24: " + users.find(new BasicDBObject("age", new BasicDBObject("$lte", 24))).toArray());
    
     print("查询age!=25:" + users.find(new BasicDBObject("age", new BasicDBObject("$ne", 25))).toArray());
     print("查询age in 25/26/27:" + users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.IN, new int[] { 25, 26, 27 }))).toArray());
     print("查询age not in 25/26/27:" + users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.NIN, new int[] { 25, 26, 27 }))).toArray());
     print("查询age exists 排序:" + users.find(new BasicDBObject("age", new BasicDBObject(QueryOperators.EXISTS, true))).toArray());
    
     print("只查询age属性:" + users.find(null, new BasicDBObject("age", true)).toArray());
     print("只查属性:" + users.find(null, new BasicDBObject("age", true), 0, 2).toArray());
     print("只查属性:" + users.find(null, new BasicDBObject("age", true), 0, 2, Bytes.QUERYOPTION_NOTIMEOUT).toArray());
    
     //只查询一条数据,多条去第一条
     print("findOne: " + users.findOne());
     print("findOne: " + users.findOne(new BasicDBObject("age", 26)));
     print("findOne: " + users.findOne(new BasicDBObject("age", 26), new BasicDBObject("name", true)));
    
     //查询修改、删除
     print("findAndRemove 查询age=25的数据,并且删除: " + users.findAndRemove(new BasicDBObject("age", 25)));
    
     //查询age=26的数据,并且修改name的值为Abc
     print("findAndModify: " + users.findAndModify(new BasicDBObject("age", 26), new BasicDBObject("name", "Abc")));
     print("findAndModify: " + users.findAndModify(
         new BasicDBObject("age", 28), //查询age=28的数据
         new BasicDBObject("name", true), //查询name属性
         new BasicDBObject("age", true), //按照age排序
         false, //是否删除,true表示删除
         new BasicDBObject("name", "Abc"), //修改的值,将name修改成Abc
         true,
         true));
    
     queryAll();
 }
 public void testOthers() {
     DBObject user = new BasicDBObject();
     user.put("name", "hoojo");
     user.put("age", 24);
    
     //JSON 对象转换       
     print("serialize: " + JSON.serialize(user));
     //反序列化
     print("parse: " + JSON.parse("{ \"name\" : \"hoojo\" , \"age\" : 24}"));
    
     print("判断temp Collection是否存在: " + db.collectionExists("things"));
    
     //如果不存在就创建
     if (!db.collectionExists("things")) {
         DBObject options = new BasicDBObject();
         options.put("size", 20);
         options.put("capped", 20);
         options.put("max", 20);
         print(db.createCollection("account", options));
     }
    
     //设置db为只读
     //db.setReadOnly(true);
    
     //只读不能写入数据
     db.getCollection("things").save(user);
 }

 


}

你可能感兴趣的:(mongo)