2011年6月9日木曜日

MongoDB覚え書き

これは良いかもしれない!jarもあるし、windows版もある。
しかも、sortも出来るし、searchもOK。尚かつ、出力形式もJSONな感じだし。
これは、僕の為に作ってくれたのか!!!ぐらい有り難いです。
というわけで、色々メモしておこう。

ノリ的にはSqlite

   //Mongoサーバに接続する。この場合はlocalhost
   Mongo mongo = new Mongo("localhost");
  //使用するdatabaseを選択する。無ければ作ってくれる。
   DB db = mongo.getDB("myDb");
  //ここで対象のカラム群を選ぶ。無くてもOK.ノリ的には、tableという感じ。
   DBCollection coll = db.getCollection("testCol");
後は、このcollに対して操作をしてくのが基本。

データをinsertする。

  //こいつがその名の通り、基本のオブジェクト。
  BasicDBObject doc = new BasicDBObject();
  //insertするのは、他のkvsとかと同じ様にputでOK。
  doc.put("name", "yas");
  doc.put("age", 30);
   //上記のままではまだ保存されていないので、保存はこんな感じ。
   DBCollection coll = db.getCollection("testCol");
   //ここでコレクションに対してinsertが走ります。
   coll.insert(doc);

データをselectする。

■一件欲しい時
           DBObject myDoc = coll.findOne();
    System.out.println(myDoc);
■全部欲しいとき
    DBCollection coll = db.getCollection("testCol");
    DBCursor cursor = coll.find();
    while(cursor.hasNext()){
          System.out.println(cursor.next());
     }
■もっと絞りたいとき
               DBCollection coll = db.getCollection("testCol");
                //ここで検索条件を作っています。
  BasicDBObject query = new BasicDBObject();
         query.put("i", new BasicDBObject("$ne",3));
    //findする引数に問い合わせ条件を伴います。
  DBCursor cursor = coll.find(query);
         while(cursor.hasNext()) {
             System.out.println(cursor.next());
         }
■ソートもしたい
         DBCollection coll = db.getCollection("testCol");
  BasicDBObject query = new BasicDBObject();
         query.put("i", new BasicDBObject("$ne",3));
  BasicDBObject orderBy = new BasicDBObject();
                //-1だとDESCになります。
  orderBy.put("i", -1);
  DBCursor cursor = coll.find(query).sort(orderBy);
         while(cursor.hasNext()) {
             System.out.println(cursor.next());
         }
と言う感じらしい。リミットもひけるのでとても良い感じだと思う。
MongoDB最強伝説が始まっちゃったかな?
明日は、もっとデータをぶち込んで実際にJSON --> HTMLにmappingするところまでやってみよう。
これならいけるぞ!これなら!!

0 件のコメント: