【初心者】MongoDB データ操作(初級編)
やっと設定が終わったので、ついにデータ操作をやっていこうと思います。
挿入(insert)
まずはデータ登録からです。「あれ、先にテーブル作らないとデータはいらないのでは?」と皆さん思うかもしれませんが、MongoDBではテーブルを作成する必要なくデータを入れると、テーブルも作成されます。
まずはデータベースを変更して認証をしましょう。
use [DB name]
db.auth([user name],[password])
> db.user.insert( { "name" : "cafe", "display" : "深川のコーヒー屋さん" } )
WriteResult({ "nInserted" : 1 })
データを挿入する場合は、テーブル名を決めます。
今回の例では「user」テーブルにしています。
次に挿入で必要になる情報は列名と値です。この組み合わせでデータを登録していきます。
[列名] : [値] , ・・・ と複数の列を登録することが可能です。
最後にWriteResult({ "nInserted" : 1 })が表示されたらOKです。
MongoDBにはトランザクションという概念がありません。なので毎回SQL分を入力したらcommitされていると考えて下さい。
RDBに慣れていると少し違和感を感じるかもしれないですね。
検索(search)
検索はいろんな方法がありますが、ここでは一番標準的な方法を説明します。
> db.user.find()
{ "_id" : ObjectId("5ec110712e8ab128f7593547"), "name" : "metro-kikukawa", "display" : "都営新宿線 菊川駅" }
{ "_id" : ObjectId("5ec11a262e8ab128f7593548"), "name" : "cafe", "display" : "深川のコーヒー屋さん" }
条件を少しつけてみましょう。大カッコをつけて条件を記載します。
> db.user.find({"name":"cafe"})
{ "_id" : ObjectId("5ec11a262e8ab128f7593548"), "name" : "cafe", "display" : "深川のコーヒー屋さん" }
削除(delete)
不要になった行を削除する場合に使用します。
> db.user.remove({ "name" : "cafe" })
WriteResult({ "nRemoved" : 3 })
削除対象を指定することで対象の行のみが削除されます。
もしすべて削除する場合は条件部分をすべて消すと全件のデータが
削除されます。
更新(update)
更新方法はたくさんあります、既存のデータを元にさらに追加する方法など様々です。とりあえず今回は一番単純な方法を紹介します。
> db.user.update({ "name":"cafe"},{ $set:{"display":"秋葉原のコーヒー屋さん"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
今回はデータ操作について説明しました。こちらはまだまださわり部分になりますので今後もう少し高度な部分も紹介できればと思います。