スキップしてメイン コンテンツに移動

MongoDB入門編 その1)

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フィールドのみを表示するという意味です。
 
 今回は、ここまで。

コメント

このブログの人気の投稿

gitよく使うコマンド集

よく使うgitのコマンド集をまとめてみた。 1.ローカルリポジトリの登録  #git init 2.gitの状態を確認  #git status 3.gitのファイルを追加  #git add . 4.ローカルのマスタにコミットする  #git commit -m "体温管理アプリの初期化" 5.リモートリポジトリを登録する  #git remote add origin https://github.com/ユーザーID/リポジトリ名  例)git remote add origin https://github.com/githubkyo/taionkanri 6. リモートリポジトリの変更履歴の取得 git fetch origin master 7.差分のあるファイル名を表示 > git diff --name-status ローカルブランチ名 origin/リモートブランチ名 【例】 > git diff --name-status master origin/master 8.リモートのファイルのみをローカルに反映する。 git checkout origin/master --src/Eccube/Resource/template/default/default_frame.twig 9.別ブランチをマスタへマージする git checkout master git merge other_branch 以上で、随時更新していく予定。