昨日はコンソールから叩いてみましたが、今日はJavaからアクセスしてみようと思います。
Downloads · mongodb/mongo-java-driver · GitHub から、最新のjarをダウンロードしてビルドパスに追加します。
Mongoをホストとポートを指定して作って、そこからDBを取得します。
必要なDBCollectionを取ってきて、それに対して色々と操作します。
- insert:ドキュメントの挿入
- find:ドキュメントの検索
- update:ドキュメントの更新
- remove:ドキュメントの削除
基本的な使い方はコードの通りですね。
import java.util.Set; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.mongodb.Mongo; public class FirstSample { public static void main(String[] args) { try { // 接続とDB取得 Mongo mongo = new Mongo("localhost", 27017); DB db = mongo.getDB("test"); // コレクションの一覧 Set<String> colls = db.getCollectionNames(); for (String coll : colls) { System.out.println(coll); } // コレクションの取得 DBCollection collection = db.getCollection("things"); System.out.println(collection.count()); for (DBObject obj :collection.find()) { System.out.println(obj); } // ドキュメントの挿入 BasicDBObject doc1 = new BasicDBObject(); doc1.put("name", "thorikiri"); doc1.put("age", 32); collection.insert(doc1); BasicDBObject doc2 = new BasicDBObject(); doc2.put("name", "thorikiri2"); doc2.put("age", 30); collection.insert(doc2); System.out.println(collection.count()); for (DBObject obj :collection.find()) { System.out.println(obj); } // ドキュメントの更新 BasicDBObject query = new BasicDBObject(); query.put("name", "thorikiri"); doc1.put("age", 33); collection.update(query, doc1); System.out.println(collection.count()); for (DBObject obj :collection.find()) { System.out.println(obj); } // ドキュメントの削除 collection.remove(doc1); collection.remove(doc2); System.out.println(collection.count()); for (DBObject obj :collection.find()) { System.out.println(obj); } } catch (Exception e) { e.printStackTrace(); } } }
BasicDBObjectはちょっと使い方が面倒くさいです。何かいいライブラリがあるのでしょうか?
最近はAPTでゴニョゴニョする系が個人的には好きです。