MongoDBのコレクション名に「.」(ドット)記号は使用できる?
MongoDBでは、コレクション名に「.」(ドット)記号を使用することができます。ただし、その場合はdb.getCollection()メソッドを使ってコレクションにアクセスする必要があります。本記事では、実際にドットを含むコレクションを作成し、ドキュメントを挿入・取得する手順を解説します。
ドットを含むコレクションの作成とドキュメントの挿入
まず、demo28.exampleのようにドットを含むコレクション名を指定して、ドキュメントを挿入してみましょう。
> db.getCollection('demo28.example');
web.demo28.example
>
>
> db.getCollection('demo28.example').insertOne({"Name":"Chris","Age":32});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15fbe48f2315c2efc48e6b")
}
> db.getCollection('demo28.example').insertOne({"Name":"Bob","Age":31});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15fbec8f2315c2efc48e6c")
}
> db.getCollection('demo28.example').insertOne({"Name":"David","Age":33});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15fbf38f2315c2efc48e6d")
}上記の例では、db.getCollection('demo28.example')を使って「demo28.example」というコレクションを参照し、insertOne()メソッドで3件のドキュメント(Chris、Bob、David)を順に挿入しています。すべて挿入が正常に完了し、acknowledged: trueが返されていることがわかります。
find()メソッドで全ドキュメントを表示する
次に、find()メソッドを使用して、作成したコレクション内のすべてのドキュメントを表示します。出力を見やすくするため、pretty()も併せて指定します。
> db.getCollection('demo28.example').find().pretty();このクエリを実行すると、以下のような結果が出力されます。
{
"_id" : ObjectId("5e15fbe48f2315c2efc48e6b"),
"Name" : "Chris",
"Age" : 32
}
{ "_id" : ObjectId("5e15fbec8f2315c2efc48e6c"), "Name" : "Bob", "Age" : 31 }
{
"_id" : ObjectId("5e15fbf38f2315c2efc48e6d"),
"Name" : "David",
"Age" : 33
}まとめ
このように、MongoDBのコレクション名には「.」記号を含めることが可能です。ドットを含むコレクションへは通常のdb.コレクション名という記法ではアクセスできないため、必ずdb.getCollection()メソッドを経由する点に注意してください。命名規則上は避けるべきケースも多いものの、既存システムとの互換性など特定の要件がある場合には有効な手段となります。
-
MongoDBでコレクション内のドキュメント数を制限する方法(Capped Collectionの使い方)
MongoDBでコレクション内のドキュメント数を制限するには?MongoDBのコレクションに保存できるドキュメントの数を制限したい場合は、「capped: true」を指定してCapped Collection(キャップドコレクション)を作成します。作成時にsize(最大サイズ)やmax(最大ドキュメント数)を設定することで、コレクションの容量と件数の上限を定義できます。Capped CollectionとはCapped Collectionは、挿入順にドキュメントを保持し、上限に達すると最も古いドキュメントから自動的に削除される固定サイズのコレクションです。ログデータやキャッシュなど、最新の
-
MongoDBの上限付きコレクション(Capped Collection)は使える?作成方法と動作を実例で解説
MongoDBの上限付きコレクション(Capped Collection)とは?はい、MongoDBではcapped(上限付き)コレクションを使用できます。Cappedコレクションは固定サイズのコレクションであり、挿入順に基づいてドキュメントを挿入・取得する高スループットな操作をサポートするのが特徴です。コレクションが指定したサイズまたはドキュメント数の上限に達すると、最も古いドキュメントから自動的に削除され、新しいドキュメントが追加されていきます。そのため、ログ管理やキャッシュのように「最新データだけを保持したい」ケースに適しています。Cappedコレクションの作成方法db.createCo