• MongoDBにおけるクエリの表現力
  • MonDBシェルからの利用
  • JavaからのMongoDBの接続・操作

 

MongoDBにおけるクエリの表現力

SQLライクな操作言語によりデータベースにアクセスして、CRUD操作(生成・読み込み・更新・削除)を行うことができます。JOINを除く、ほとんどのSQLを再現することができます。

ただし、データ構造がDB -> コレクション -> Documentであり、取り扱うDocumentデータがJSON形式のデータとはなりますので、
・コレクションの各メソッドを用いてCRUD操作をします
・メソッドの引数にはJSON形式のデータを渡します

また、変数・制御構造なども記述することができますので、集計等の高度なクエリも記述することが可能です。

 

MongoDBシェルからの利用

Mongoクエリ言語はMongoDBのコマンドラインインターフェースであるMongoDBシェルから使用できます。シェルは以下のコマンドから起動します。

$mongo
MongodB shell version: 3.2.1
connecting to: testdb
>

データの挿入・読み込み・更新・削除

データの挿入・更新・削除・参照は、コレクションのメソッドを呼び出します。たとえば、挿入であれば、下記のように、insertメソッドを呼び出します。

db.collection.insert({“title”;”mongo”})

 

メソッドの引数にはJSON形式のデータを渡します

データを挿入する場合には、insertの引数にJSONのデータを渡しますし、参照する場合には、絞り込みの条件をJSON形式(JSONデータの特定のフィールドに対する条件指定)で指定します。

db.collection.insert({“description”;”hello world”,”list”:[“Sunday”,”Monday”,”Tuesday”]})

 

変数の利用

MongoDBのシェルでは、JavaScriptの記法で変数を使うことができまする。たとえば、あらかじめ変数に値を設定して、メソッドには変数を渡すことができます。

data = {“description”;”hello world”,”list”:[“Sunday”,”Monday”,”Tuesday”]}
> db.collection.insert(data)

 

制御構造

MongoDBでは、制御構造に関しても、JavaScriptのような制御構造を使うことができます。

for (var i=1; i<=10; i++) db.collection.insert ({x:1, j:i*i})

 

 

JavaからのMongoDBへの接続・操作

MongoDBには、たとえばJava MongoDB driverを利用してJavaで接続することができます。
https://docs.mongodb.com/ecosystem/drivers/java/

MongoDBへの接続

DB名を指定して接続します。指定したDB名のDBが存在しなければ、MongoDBが新たに生成します。
DB db = mongoClient.getDB(“DB名”)

コレクションの取得

コレクション名を指定してメソッドを呼び出すことにより、コレクションを取得することができ、そのコレクションに対してinsertメソッド(挿入)、更新メソッド(update)などを呼ぶことにより、ドキュメントに対する操作を行うことができます。

DBCollection collection = db.getCollection(“collection名”)

 

 

 

本サイト上に掲載されているまとめ記事が、毎週ステップメールで受け取ることもできます。

 

 

参考文献