mogoDBについて、勉強しながら、紹介していきます。
1.インストール
https://www.mongodb.com/try/download/communityにアクセスして、Available Downloadsの
ところから、ダウンロードして、手順に沿ってインストールする。
2.サービスの起動と停止
起動:sudo service mongodb start
停止:sudo service mongodb stop
3.mongoシェルの起動
#mongo
4.実際に使ってみる。
・用語
MongoDBとRDBとの比較
-------------------------------------
MongoDB | RDB
-------------------------------------
データベース | データベース
-------------------------------------
コレクション | テーブル
-------------------------------------
ドキュメント | 行(レコード)
-------------------------------------
フィールド | 列
-------------------------------------
・データベースの作成
>use study
switched to db study
これだけで、studyというデータベースができました。
> db.stats()
{
"db" : "study",
"collections" : 0,
"objects" : 0,
"avgObjSize" : 0,
"dataSize" : 0,
"storageSize" : 0,
"numExtents" : 0,
"indexes" : 0,
"indexSize" : 0,
"fileSize" : 0,
"nsSizeMB" : 0,
"dataFileVersion" : {
},
"ok" : 1
}
>
0がたくさん並んでいるが、studyというDBになんのデータも入っていないという意味です。
・データの挿入
db.user.insert({name:'mr.a', age:10, gender:'m', hobbies:['programming']});
db.user.insert({name:'mr.b', age:20, gender:'m', hobbies:['vi']});
これで、studyのDBにuserというコレクション(collections)が作成されました。
> db.stats()
{
"db" : "study",
"collections" : 1, ←確かに1になりました。
"objects" : 0,
"avgObjSize" : 0,
"dataSize" : 0,
"storageSize" : 0,
"numExtents" : 0,
"indexes" : 0,
"indexSize" : 0,
"fileSize" : 0,
"nsSizeMB" : 0,
"dataFileVersion" : {
},
"ok" : 1
}
>
データ挿入の構文としては、db.コレクション名.コマンド(オプション)となります。
・findコマンドで、ドキュメントの検索
>db.user.find()
{ "_id" : ObjectId("53be9d74b7fe1603319861e8"), "name" : "mr.a", "age" : 10, "gender" : "m", "hobbies" : [ "programming" ] }
{ "_id" : ObjectId("53be9d74b7fe1603319861e9"), "name" : "mr.b", "age" : 20, "gender" : "m", "hobbies" : [ "vi" ] }
find()になんの条件も指定していないため、全件取得できました。
"_id" : ObjectId("53be9d74b7fe1603319861e8")は、RDBの主キーのようなものと理解すればいい。
・条件して、検索してみる
>db.user.find({"name" : "mr.a"})
{ "_id" : ObjectId("53be9d74b7fe1603319861e8"), "name" : "mr.a", "age" : 10, "gender" : "m", "hobbies" : [ "programming" ] }
nameが「mr.a」の条件で検索した結果となる。
・表示フィールを絞ってみる。
>db.user.find({"name" : "mr.a"}, {name:1, _id:0})
{"name" : "mr.a"}
nameフィールドのみを表示するという意味です。
今回は、ここまで。
コメント
コメントを投稿