狠狠撸

狠狠撸Share a Scribd company logo
MongoDB
 ~使い方~
MongoDB


スキーマレス?alter tableなどでの変更いらない

ドキュメントがBSON( JSON )

データ型も自由に決める
MongoDB source
http://www.mongodb.org/downloads
MongoDB source
  Linux Sever                           latest var (x.y.z = 2.2.2)

64bit
     → curl http://fastdl.mongodb.org/linux/mongodb-linux-
                  x86_64-2.2.2.tgz > mongo.tgz

32bit
    → curl hhttp://fastdl.mongodb.org/linux/mongodb-linux-
                   i686-2.2.2.tgz > mongo.tgz
MongoDB install
解凍する
→ tar -zxvf mongo.tgz


適当な場所に置く
→ ln -s /usr/src/mongodb-linux-i686-2.0.6 /usr/local/mongo


コマンドで使えるようPathを通す
→ PATH=$PATH:/usr/local/mongo/bin
MongoDB database

DBの場所を決める?フォルダを作る
→?/usr/local/mongo/data

con?gファイルを作る。場所はどこでもいい
mongodb.config を作成

ファイルに以下の記述をする
→?dbpath=/usr/local/mongo/data/
MongoDB sever
サーバーの起動
→ mongod --config /usr/local/mongo/conf/mongodb.config


aliasを登録しておくと便利
alias mongod='mongod --config /usr/local/mongo/conf/
mongodb.config'


サーバーを起動したら、別のターミナルで
→ mongo
MongoDB
データベースを見る
show dbs
MySQL → show databases

データベースを使う(作る)
use comedy
MySQL → use comedy & create database comedy

コレクション(テーブル)を見る
show collections
MySQL → show tables
MongoDB
挿入
db.cartoons.insert({name:"NARUTO",number:13});
db.cartoons.save({name:"NARUTO",number:13});


更新
db.cartoons.update({name:"NARUTO"},{$set: {number: 14}});

cartoon = db.cartoons.findOne( { name : "NARUTO" } );
cartoon.number = 14;
db.cartoons.save( cartoon );
MongoDB
消去
コレクションの消去
db.cartoons.drop();

ドキュメントの消去
db.cartoons.remove();
db.cartoons.remove({name:"NARUTO"});

取得
db.cartoons.find();
db.cartoons.find({name:"NARUTO"});
MongoDB
取得結果
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c2"), "name" : "NARUTO", "book_number" : 1 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c3"), "name" : "NARUTO", "book_number" : 2 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c4"), "name" : "NARUTO", "book_number" : 3 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c5"), "name" : "NARUTO", "book_number" : 4 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c6"), "name" : "NARUTO", "book_number" : 5 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c7"), "name" : "NARUTO", "book_number" : 6 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c8"), "name" : "NARUTO", "book_number" : 7 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428c9"), "name" : "NARUTO", "book_number" : 8 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428ca"), "name" : "NARUTO", "book_number" : 9 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428cb"), "name" : "NARUTO", "book_number" : 10 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428cc"), "name" : "NARUTO", "book_number" : 11 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428cd"), "name" : "NARUTO", "book_number" : 12 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428ce"), "name" : "NARUTO", "book_number" : 13 }
{ "_id" : ObjectId("4fe6fd26540eb3b96a6428cf"), "name" : "NARUTO", "book_number" : 14 }
MongoDB driver
公式のドライバ
http://www.mongodb.org/display/DOCS/Drivers


phpでmongoDB
→ sudo pecl install mongo

php.ini に以下を記述
extension=mongo.so
MongoDB driver
<?php
// MongoDB接続
// デフォルトの設定であれば new MongoでOK
// mongod を --auth or --keyFile で起動していた場合
$m = new Mongo("mongodb://${username}:${password}
@localhost");

//database選択
$db = $m->comedy; //comedy というDBを選択

//collection選択
$collection = $db->cartoons; //cartoosというコレクションを選択
MongoDB driver
//データ挿入
$obj_insert = array( "name" => "NARUTO", "number" => 13 );
$collection->insert($obj_insert);

//データ更新
$obj_where = array( "name" => "NARUTO" );
$obj_set = array( "number" => 14 );
$collection->update($obj_where,$obj_set);

//データ消去
$obj_remove = array( "name" => "NARUTO" );
$collection->remove($obj_remo);
MongoDB driver
//データ取得
$cursor = $collection->find("name" => "NARUTO");

foreach ($cursor as $obj) {
   echo $obj["name"]. "n";
}

?>

結果(name=”NARUTO” が 10あった場合)
NARUTO NARUTO NARUTO NARUTO NARUTO NARUTO
NARUTO NARUTO NARUTO NARUTO

More Related Content

惭辞苍驳辞顿叠の使い方