ページ「Interface Builder/基本的な使い方」と「MongoDB Shellの使い方」の間の差分
(ページの作成:「Xcodeでコントロールを追加する storyboardをクリックしてXcodeを立ち上げる コントロールを追加する Show the Assistant editorを選択(...」) |
imported>Administrator 細 (Administrator がページ「MongoDB/MongoDB Shellの使い方」を「MongoDB Shellの使い方」に移動しました) |
||
1行目: | 1行目: | ||
− | + | == 概要 == | |
+ | MonogoDBシェルはMongoDB標準搭載の対話型クライアントである。 | ||
+ | データの検索や更新はもちろん、システム管理などもこれで行うことができる。 | ||
+ | 特徴としてはいわゆる「クエリ」や「コマンド」と呼ばれるものがMonoDBシェルではJavaScriptベースの言語となっている。 | ||
+ | このためforループでテストデータを簡単に用意できたりする。 | ||
− | + | == 起動 == | |
− | + | ※MongoDBのデーモンが起動していることが大前提。 | |
− | + | ||
− | + | 「mongo」コマンドで起動できる。 | |
− | [ | + | $ mongo |
− | + | ||
− | + | === 引数 === | |
− | + | 引数なしでmongoを実行すると、 mongoシェルはポート27017上のlocalhost上で実行されているMongoDBインスタンスに接続しようとする。 | |
+ | 別のホストやポート番号、およびその他のオプションを指定するにはググれカス。 | ||
+ | |||
+ | === .mongorc.jsファイル === | ||
+ | mongoコマンドは起動時にホームディレクトリに「.mongorc.js」というJavaScriptファイルがあればプロンプトが表示されるまでに実行する。 | ||
+ | なお、mongoコマンドに--norcオプションを使用するとロードされない。 | ||
+ | |||
+ | == 操作 == | ||
+ | 現在使用しているデータベースを表示するには「db」という予約変数を利用する。 | ||
+ | プロンプトで「db」と単純に変数名を打てばその内容が表示される。 | ||
+ | > db | ||
+ | test | ||
+ | |||
+ | 利用可能なデータベースの一覧を表示するには「show dbs」というヘルパーコマンドを利用する。 | ||
+ | > show dbs | ||
+ | admin 0.000GB | ||
+ | local 0.000GB | ||
+ | |||
+ | データベースを切り替えるには「use <db>」コマンドを利用する。その際に指定した名前のデータベースがなければ新規作成される(正確には1件目のデータ格納時に生成される)。 | ||
+ | > use myDatabase | ||
+ | switched to db myDatabase | ||
+ | |||
+ | 1件目のデータを格納してみる(この瞬間にデータベースが新規作成される)。 | ||
+ | > db.myCollection.insertOne( { x:1 } ); | ||
+ | { | ||
+ | "acknowledged" : true, | ||
+ | "insertedId" : ObjectId("5965c10c16d9ca6548464300") | ||
+ | } | ||
+ | |||
+ | 備考 | ||
+ | * db | ||
+ | *: 常に「現在のデータベース」を示す予約変数。なお、db.getSiblingDB()メソッドを使えばdb変数を変化させずに別データベースのインスタンスを取得することもできる。 | ||
+ | * myCollection | ||
+ | *: MongoDB独自概念の「コレクション」と呼ばれるものでRDBでいう「テーブル」に相当する。これも存在しなければ1件目のデータ格納時に勝手に作られる。 | ||
+ | コレクション名はそのままdb変数のプロパティ名になる。なお、コレクション名にはスペースやハイフンを含めることができる。しかし、JavaScriptの変数名にスペースやハイフンを含めることはできない。そのような名前を使う場合は以下のように記述する。基本的には全部同じ意味である。 | ||
+ | |||
+ | 一般的なコレクションへのアクセス(プロパティ)。 | ||
+ | > db.myCollection.find(); | ||
+ | { "_id" : ObjectId("5965c10c16d9ca6548464300"), "x" : 1 } | ||
+ | |||
+ | コレクション名にハイフンやスペースが含まれている場合(連想配列)。 | ||
+ | > db['myCollection'].find(); | ||
+ | { "_id" : ObjectId("5965c10c16d9ca6548464300"), "x" : 1 } | ||
+ | または(getCollectionメソッド)。 | ||
+ | > db. getCollection('myCollection').find(); | ||
+ | { "_id" : ObjectId("5965c10c16d9ca6548464300"), "x" : 1 } | ||
+ | |||
+ | === 注意事項 === | ||
+ | mongodbシェルでデータ取得の際に1行あたり4095[[コードポイント]]以上の文字列はカットされるという[[仕様]]がある。 | ||
+ | クソ長い文字列なんかを扱う場合は別のクライアントを使ったほうがいい。 | ||
+ | |||
+ | [[category: MongoDB]] |
2018年7月19日 (木) 02:52時点における版
概要
MonogoDBシェルはMongoDB標準搭載の対話型クライアントである。 データの検索や更新はもちろん、システム管理などもこれで行うことができる。 特徴としてはいわゆる「クエリ」や「コマンド」と呼ばれるものがMonoDBシェルではJavaScriptベースの言語となっている。 このためforループでテストデータを簡単に用意できたりする。
起動
※MongoDBのデーモンが起動していることが大前提。
「mongo」コマンドで起動できる。
$ mongo
引数
引数なしでmongoを実行すると、 mongoシェルはポート27017上のlocalhost上で実行されているMongoDBインスタンスに接続しようとする。 別のホストやポート番号、およびその他のオプションを指定するにはググれカス。
.mongorc.jsファイル
mongoコマンドは起動時にホームディレクトリに「.mongorc.js」というJavaScriptファイルがあればプロンプトが表示されるまでに実行する。 なお、mongoコマンドに--norcオプションを使用するとロードされない。
操作
現在使用しているデータベースを表示するには「db」という予約変数を利用する。 プロンプトで「db」と単純に変数名を打てばその内容が表示される。
> db test
利用可能なデータベースの一覧を表示するには「show dbs」というヘルパーコマンドを利用する。
> show dbs admin 0.000GB local 0.000GB
データベースを切り替えるには「use <db>」コマンドを利用する。その際に指定した名前のデータベースがなければ新規作成される(正確には1件目のデータ格納時に生成される)。
> use myDatabase switched to db myDatabase
1件目のデータを格納してみる(この瞬間にデータベースが新規作成される)。
> db.myCollection.insertOne( { x:1 } ); { "acknowledged" : true, "insertedId" : ObjectId("5965c10c16d9ca6548464300") }
備考
- db
- 常に「現在のデータベース」を示す予約変数。なお、db.getSiblingDB()メソッドを使えばdb変数を変化させずに別データベースのインスタンスを取得することもできる。
- myCollection
- MongoDB独自概念の「コレクション」と呼ばれるものでRDBでいう「テーブル」に相当する。これも存在しなければ1件目のデータ格納時に勝手に作られる。
コレクション名はそのままdb変数のプロパティ名になる。なお、コレクション名にはスペースやハイフンを含めることができる。しかし、JavaScriptの変数名にスペースやハイフンを含めることはできない。そのような名前を使う場合は以下のように記述する。基本的には全部同じ意味である。
一般的なコレクションへのアクセス(プロパティ)。
> db.myCollection.find(); { "_id" : ObjectId("5965c10c16d9ca6548464300"), "x" : 1 }
コレクション名にハイフンやスペースが含まれている場合(連想配列)。
> db['myCollection'].find(); { "_id" : ObjectId("5965c10c16d9ca6548464300"), "x" : 1 }
または(getCollectionメソッド)。
> db. getCollection('myCollection').find(); { "_id" : ObjectId("5965c10c16d9ca6548464300"), "x" : 1 }
注意事項
mongodbシェルでデータ取得の際に1行あたり4095コードポイント以上の文字列はカットされるという仕様がある。 クソ長い文字列なんかを扱う場合は別のクライアントを使ったほうがいい。