MongoDBで指定した件数のレコードを取得するには?limit()メソッドの使い方
MongoDBでlimit()を使ってレコードを指定件数だけ取得する方法
MongoDBで特定の件数のレコード(ドキュメント)を取得したい場合は、limit()メソッドを使用します。limit()は数値型の引数を1つ受け取り、その引数に指定した数だけドキュメントを表示できます。
サンプルコレクションの作成
まず、insertOne()メソッドを使って、ドキュメントを含むコレクションを作成します。ここでは「demo549」というコレクションに4件のドキュメントを挿入します。
> db.demo549.insertOne({"Name":"Chris"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8e32889e5f92834d7f05df")
}
> db.demo549.insertOne({"Name":"David"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8e328c9e5f92834d7f05e0")
}
> db.demo549.insertOne({"Name":"Bob"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8e328f9e5f92834d7f05e1")
}
> db.demo549.insertOne({"Name":"John"});{
"acknowledged" : true, "insertedId" : ObjectId("5e8e32929e5f92834d7f05e2")
}find()ですべてのドキュメントを表示する
find()メソッドを使用すると、コレクション内のすべてのドキュメントを確認できます。
> db.demo549.find();
上記のクエリを実行すると、次のような出力が得られます。
{ "_id" : ObjectId("5e8e32889e5f92834d7f05df"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8e328c9e5f92834d7f05e0"), "Name" : "David" }
{ "_id" : ObjectId("5e8e328f9e5f92834d7f05e1"), "Name" : "Bob" }
{ "_id" : ObjectId("5e8e32929e5f92834d7f05e2"), "Name" : "John" }limit()で指定件数のレコードを検索する
以下が、MongoDBで指定した件数のレコードを検索するためのクエリです。ここではlimit(2)とすることで、先頭から2件のドキュメントのみを取得しています。
> db.demo549.find().limit(2);
実行結果は次のとおりです。
{ "_id" : ObjectId("5e8e32889e5f92834d7f05df"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8e328c9e5f92834d7f05e0"), "Name" : "David" }まとめ
このように、limit()メソッドに表示したいドキュメント数を渡すだけで、取得件数を簡単に制限できます。実務では、sort()やskip()と組み合わせて使われることが多く、一覧画面のページネーション処理などでも頻繁に活用される重要なメソッドです。
-
MongoDBのタグレコードをすばやく更新する方法
はじめにMongoDBで配列内の特定の要素(タグなど)を更新したい場合、updateコマンドと位置演算子「$」を組み合わせるのが効果的です。本記事では、実際のコード例を通じて、タグレコードを効率よく更新する手順をわかりやすく解説します。サンプルコレクションの作成まず、タグ情報を配列として持つドキュメントを格納するコレクションを作成しましょう。insertOne()メソッドを使ってドキュメントを挿入します。> db.demo713.insertOne( ... { ... tags: ... &
-
MongoDBで価格が特定の値未満のレコードを検索する方法($lt演算子の使い方)
MongoDBで、価格(Price)が特定の値より小さいレコードを検索したい場合には、比較クエリ演算子の一つである $lt(less than)を使用します。$ltは「指定した値より小さい」ドキュメントのみを抽出するための演算子です。この記事では、実際にコレクションを作成し、$lt演算子を使って条件に合致するドキュメントを検索する手順を順番に解説します。1. テスト用コレクションの作成まず、insertOne() メソッドを使って、サンプル用のコレクション「demo728」にドキュメントを挿入します。> db.demo728.insertOne({Price:75}); { ac