点虫虫 发表于 2013-1-12 13:27:02

MongoDB试用

 
public class TestMongoDB {/** * @param args */public static void main(String[] args) {TestMongoDB t = new TestMongoDB();DB db = t.conn();t.insert(db);//t.findFirst(db);//t.loopInsert(db);//t.count(db);//t.getIterateColl(db);//t.getData(db);//t.update(db);//t.delete(db);}//连接mongo dbpublic DB conn(){DB db = null;try {Mongo m = new Mongo("192.168.1.129",27017);db = m.getDB("test");return db;} catch (UnknownHostException e) {e.printStackTrace();} catch (MongoException e) {e.printStackTrace();}return db;}//获取所有collections名字,类似于获取所有table名字。public void getCollections(DB db){Set<String> result = db.getCollectionNames();for(String s:result){System.out.println(s);}}//插入数据public void insert(DB db){DBCollection coll = db.getCollection("MonTest");BasicDBObject doc = new BasicDBObject();doc.put("name", "郑家豪");doc.put("sno", 1001);doc.put("school", "广东商学院");BasicDBObject friends = new BasicDBObject();BasicDBObject f1 = new BasicDBObject();f1.put("name", "苗露");f1.put("id", 1);f1.put("hobbit", "football");BasicDBObject f2 = new BasicDBObject();f2.put("name", "詹婷婷");f2.put("id", 2);f2.put("hobbit", "football");friends.put("f1",f1);friends.put("f2",f2);//friends.put("f1","苗露");//friends.put("f2","詹婷婷");//doc.put("friends", friends);//BasicDBObject[] fs = new BasicDBObject[]{f1,f2};//doc.put("friends", fs);ArrayList<BasicDBObject> fl = new ArrayList<BasicDBObject>();fl.add(f1);fl.add(f2);doc.put("friends", fl);coll.insert(doc);}//找到第一条数据public void findFirst(DB db){DBCollection coll = db.getCollection("MonTest");DBObject doc = coll.findOne();System.out.println(doc);}//循环插入数据public void loopInsert(DB db){DBCollection coll = db.getCollection("MonTest");for(int i=0;i<101;i++){coll.insert(new BasicDBObject().append("i", i));}}//统计一个collection的条数public void count(DB db){DBCollection coll = db.getCollection("MonTest");System.out.println(coll.getCount());}//遍历一个collectionpublic void getIterateColl(DB db){DBCollection coll = db.getCollection("MonTest");DBCursor cursor = coll.find();while(cursor.hasNext()){DBObject doc = cursor.next();System.out.println(doc);}}//查找一个collection的一条数据public void getData(DB db){DBCollection coll = db.getCollection("MonTest");BasicDBObject query = new BasicDBObject().append("name", "郑家豪");query.put("friends.f1.name","苗露");BasicDBObject keys = new BasicDBObject();keys.put("friends.f1", 1); //1表示显示0表示不显示DBCursor cursor = coll.find(query,keys);while(cursor.hasNext()){DBObject doc = cursor.next();DBObject friends = (DBObject) doc.get("friends");DBObject f1 = (DBObject) friends.get("f1");System.out.println(f1.get("name"));//System.out.println(doc.get("friends"));}}//修改多条数据 (updateMulti 修改一条用update)public void update(DB db){DBCollection coll = db.getCollection("MonTest");BasicDBObject query = new BasicDBObject().append("friends.f1.id", 1);BasicDBObject update = new BasicDBObject();update.put("friends.f1.name", "simon");coll.updateMulti(query, new BasicDBObject().append("$set", update));DBCursor cursor = coll.find(query);while(cursor.hasNext()){DBObject doc = cursor.next();System.out.println(doc);}}//删除 public void delete(DB db){DBCollection coll = db.getCollection("MonTest");BasicDBObject doc = new BasicDBObject().append("friends.f1.id", 1);coll.remove(doc);getIterateColl(db);}//优化查找 optimizationpublic void optiGetData(DB db){DBCollection coll = db.getCollection("MonTest");}}如果想像ORMpublic class Friends extends BasicDBObject {private String name;private String password;private int sex;public Friends(String name, String password, int sex) {super();this.name = name;this.password = password;this.sex = sex;}public Friends(){super();}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getSex() {return sex;}public void setSex(int sex) {this.sex = sex;}//插入public void insert(DB db){Friends f = new Friends();DBCollection coll = db.getCollection("friends");f.put("name", "郑家豪");f.put("sno", "123456");f.put("sex", 0);coll.setObjectClass(Friends.class);coll.insert(f);ObjectId id = (ObjectId)f.get( "_id" );System.out.println(id);}
页: [1]
查看完整版本: MongoDB试用