今天研究了下java如何使用MongoDB。
驱动下载地址:https://github.com/mongodb/mongo-java-driver/downloads
代码如下:
package mongo; import java.net.UnknownHostException; import java.util.List; import java.util.Set; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.WriteResult; public class MongoTest { private static Mongo mongo; private static DB db; private static DBCollection collection; public static void init() { try { mongo = new Mongo(" 192.168.134.15", 27017); //test和collection如果在数据库中没有,则会自动建立 db = mongo.getDB("test"); collection = db.getCollection("collection"); } catch (UnknownHostException e) { e.printStackTrace(); } } public static void main(String args[]) { init(); MongoTest test = new MongoTest(); test.insertMulti(); DBCursor cursor = test.iteratorAllCusor(); test.getCursor(cursor); test.dropDatabase("test"); } public void dropDatabase(String dbName){ mongo.dropDatabase(dbName); } //插入一条 public void insert() { BasicDBObject tester = new BasicDBObject(); tester.put("name", "tester1"); tester.put("age", 25); tester.put("score", 100); collection.insert(tester); } // 插入多条数据 public void insertMulti() { for (int i = 0; i < 10; i++) { collection.insert(new BasicDBObject().append("i", i)); } } //查找第一条数据 public DBObject findOne() { return collection.findOne(); } // 使用Cursor 获取所有文档 public DBCursor iteratorAllCusor() { DBCursor cursor = collection.find(); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); } return cursor; } //得到i = 5的cursor public void getCursor(DBCursor cursor) { BasicDBObject queryObj = new BasicDBObject(); queryObj.put("i", 5); cursor = collection.find(queryObj); try { while (cursor.hasNext()) { System.out.println("当前的 cursor = " + cursor.next()); } } finally { cursor.close(); } } // 查找 1 < i <= 5 public void queryDBObject(DBCursor cursor , BasicDBObject queryObj) { queryObj.put("i", new BasicDBObject("$gt", 1).append("$lte", 5)); cursor = collection.find(queryObj); try { while (cursor.hasNext()) { System.out.println(cursor.next()); } } finally { cursor.close(); } } //删除i = 5的项 public void remove() { BasicDBObject remove = new BasicDBObject(); remove.put("i", 5); WriteResult result = collection.remove(remove); System.out.println("删除i= 5的项" + result); } //把i = 1 替换为 i= 2 public void update() { BasicDBObject queryObj = new BasicDBObject(); queryObj.put("i", 1); BasicDBObject update = new BasicDBObject(); update.put("i", 2); DBObject obj = collection.findAndModify(queryObj, update); System.out.println(obj); } // 创建索引 1为升序、-1为降序 public void createIndex() { collection.createIndex(new BasicDBObject("i", 1)); } //获得索引列表 public void getIndexList() { List<DBObject> list = collection.getIndexInfo(); for (DBObject o : list) { System.out.println(o); } } // 获取数据库列表 public void getDBList() { for (String s : mongo.getDatabaseNames()) { System.out.println(s); } } // 获取集合列表 public void getCollectionsList() { Set<String> colls = db.getCollectionNames(); for (String s : colls) { System.out.println(s); } } }