MongoDB最初の一歩メモ

MongoDBメモ1

インストールバージョン

  • 3.0.2

基本的な操作

起動

  • mongod
    • これでMongoDBのサーバプロセスを起動する
  • mongo
    • これでシェルを起動する
  • 以下の操作はすべてmongoシェルで行ったもの

データベース選択/作成

  • DBが存在しない場合は作成される
  • だたし、新規作成の場合はコレクションがまだいないのでshow dbsで表示されない

コレクション作成

ドキュメント挿入(Insert)

ドキュメント取得(Query)

全件取得

  • find関数の引数に空のクエリを指定すると全件取得となる

条件指定

  • 固定値

  • 正規表現使ってLike検索的な

  • and条件指定

冗長…。andの場合はandオペレータ省略して↓みたいに書けるけど分かりやすいのはどっちだろう…。

  • or条件指定

ドキュメント更新(Modify)

  • Modify Documents
  • 第一引数のクエリで更新対象を特定して、第二引数で更新フィールドと値を指定する
  • 更新フィールドと値の指定では$setオペレータ使う

  • $setオペレータ使わずに↓のノリでやると、ドキュメント全体の置き換えになってしまうのでダメ(codeフィールドが消滅する)

ドキュメント削除(Remove)

条件指定

全件削除

  • remove関数の引数に空のクエリを指定すると全件削除となる

コレクション削除

ここまでのぼんやりした理解

  • データベース
  • データベースはコレクションを含む
    • コレクション ≒ テーブル
  • コレクションはドキュメントを作成する
    • ドキュメント…行レベルの定義(レコード)
  • ドキュメントはフィールドを作成する
    • フィールド…列レベルの定義

  • MongoDBの薄い本p.11より

主要な違いは、リレーショナルデータベースがテーブルのレベルに列を定義しているのに対し、
ドキュメント指向データベースはドキュメントのレベルにフィールドを定義している事です。
突き詰めていくとコレクションの中に何が入るかが厳密ではない事が要点です (スキーマレスの事)。
フィールドは特定のドキュメントに対して追従します。

参考資料

■MongoDBでシーケンシャルナンバー実装

それ用のコレクション作って中身+1する関数を作成する

■コレクション名にスペースやハイフンなど含む場合は角括弧でアクセスする

コレクション名にスペースを含む場合にmongoシェルでアクセスしようとするとエラーになる

角括弧使って添字形式でアクセスすれば良い


コメントを残す