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

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

コメント

このブログの人気の投稿

XMPPとは

XMPPとは、インスタントメッセージソフトなどに使われるXMLベースのオープンソース・プロトコルである。2004年に、IETF(Internet Engineering Task Force)でIMPP(Instant Messaging and Presence Protocol)の標準案に選ばれた。 Jabber社が開発したインスタントメッセージソフト「Jabber」のプロトコルを、セキュリティ機能などを追加して改良したものである。具体的な機能としては、インスタントメッセージソフトで必要不可欠となるメッセージの送受信や、プレゼンス状態の通知などを受け持っている。 XMPPは柔軟性や拡張性が高いのが特徴であり、JabberやGoogle Talkなどのインスタントメッセージソフトで採用されている。 XMPPを使っているサービスの例はCERN、アメリカの軍事衛星、BBC News、MLB、DuckDuckGoなどがある。また、SlackやHipchatなどのXMPP連携を行うコミュニケーションサービスも数多くある。 時間があれば、ぜひ使ってみたいと思います。