MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBで英数字を含むコレクション名のデータを取得する方法(getCollectionの使い方)

MongoDBでは、コレクション名にハイフンや数字、アルファベットが混在した名前を使用することができます。このようなコレクションには、通常の db.コレクション名 の形式ではアクセスしにくいため、db.getCollection() メソッドを使うのが便利です。

本記事では、英数字とハイフンを組み合わせたコレクションを作成し、ドキュメントを挿入・取得するまでの一連の手順を解説します。

1. 英数字を含むコレクションを作成する

まずは、以下のような文字と数字が混ざった名前のコレクションを作成してみましょう。

7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368

db.createCollection() を使って上記の名前でコレクションを作成します。

> db.createCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368');
{ "ok" : 1 }

実行結果に { "ok" : 1 } と表示されれば、コレクションの作成は成功です。

2. db.getCollection() でドキュメントを挿入する

次に、db.getCollection() を使って、作成したコレクションへドキュメントを登録していきます。ここでは3人のユーザー情報を挿入します。

> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e2152ae06a1609a00aea")
}
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e21a2ae06a1609a00aeb")
}
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e21e2ae06a1609a00aec")
}

それぞれの挿入操作に対して acknowledged : true が返され、ObjectId が自動的に割り当てられていることが確認できます。

3. find() メソッドですべてのドキュメントを表示する

登録したデータを確認するには、find() メソッドを使用します。条件を指定せずに呼び出すことで、コレクション内のすべてのドキュメントを取得できます。

> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').find();

上記のクエリを実行すると、以下のような結果が出力されます。

{ "_id" : ObjectId("5e57e2152ae06a1609a00aea"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e57e21a2ae06a1609a00aeb"), "FirstName" : "David" }
{ "_id" : ObjectId("5e57e21e2ae06a1609a00aec"), "FirstName" : "Bob" }

まとめ

ハイフンや数字を含む特殊な名前のコレクションを扱う場合は、db.getCollection('コレクション名') を使うことで、シェル上でも安全かつ確実にアクセスできます。通常のドット記法では構文エラーになるような名前でも、このメソッドなら問題なく操作できるため、覚えておくと非常に便利です。

  1. MongoDBでサーバーレコードを含むコレクションのステータスを非アクティブに更新する方法

    MongoDBでサーバーのステータスを非アクティブに更新する方法サーバーレコードを含むMongoDBコレクションでは、配列形式で保存されたサーバー情報の中から特定のサーバーだけを探し出し、そのステータスを「Active(アクティブ)」から「Inactive(非アクティブ)」へ変更したいケースがあります。この記事では、位置指定演算子「$」を使って、配列内の条件に一致した要素だけを効率的に更新する手順を解説します。1. コレクションの作成とドキュメントの挿入まず、insertOne()メソッドを使って、サーバー情報(serverInformation)を配列として持つドキュメントを挿入し、コレクシ

  2. MongoDBでコレクションから配列フィールド全体を削除するクエリの書き方

    MongoDBで配列フィールドを完全に削除するにはMongoDBのコレクションから、ドキュメント内の配列フィールドそのもの(フィールドごと)を取り除きたい場合は、更新演算子の $unset を使用します。$unset は指定したフィールドをドキュメントから削除する演算子で、配列の中身だけを空にするのではなく、フィールド自体が存在しない状態にできます。ここでは、サンプルコレクションを作成して、実際に配列フィールドを削除する手順を見ていきましょう。1. サンプルコレクションの作成まず、insertOne() メソッドを使ってドキュメントを挿入し、テスト用のコレクション demo609 を作成します