Top Banner
~使い方~ MongoDB
15

MongoDBの使い方

Sep 03, 2014

Download

Documents

Tatsuto Maetsu

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MongoDBの使い方

~使い方~MongoDB

Page 2: MongoDBの使い方

MongoDB

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

ドキュメントがBSON( JSON )

データ型も自由に決める

Page 3: MongoDBの使い方

MongoDB sourcehttp://www.mongodb.org/downloads

Page 5: MongoDBの使い方

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

Page 6: MongoDBの使い方

MongoDB database

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

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

ファイルに以下の記述をする→ dbpath=/usr/local/mongo/data/

Page 7: MongoDBの使い方

MongoDB sever

サーバーの起動→ mongod --config /usr/local/mongo/conf/mongodb.config

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

サーバーを起動したら、別のターミナルで→ mongo

Page 8: MongoDBの使い方

MongoDB

データベースを見るshow dbsMySQL → show databases

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

コレクション(テーブル)を見るshow collectionsMySQL → show tables

Page 9: MongoDBの使い方

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 );

Page 10: MongoDBの使い方

MongoDB消去コレクションの消去db.cartoons.drop();

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

取得db.cartoons.find();db.cartoons.find({name:"NARUTO"});

Page 11: MongoDBの使い方

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 }

Page 12: MongoDBの使い方

MongoDB driver

公式のドライバhttp://www.mongodb.org/display/DOCS/Drivers

phpでmongoDB

→ sudo pecl install mongo

php.ini に以下を記述extension=mongo.so

Page 13: MongoDBの使い方

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というコレクションを選択

Page 14: MongoDBの使い方

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);

Page 15: MongoDBの使い方

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