mongoDB ドキュメント(レコード)を指定した件数取得する

mongoDB ドキュメント(レコード)を指定した件数取得する

mongoDBで、ドキュメント(レコード)を指定した件数取得する手順を記述してます。通常のSQLのように「limit」を使用して件数を指定します。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

ドキュメント(レコード)を指定した件数取得するには、「db.コレクション名.find({}).limit()」を使用します。

db.コレクション名.find({}).limit()

実際に、以下のデータベース「hoge」にある「foo」というコレクション(テーブル)のドキュメント(レコード)を使用して、件数を指定して取得してみます。

> use hoge

> db.foo.find()

{ "_id" : ObjectId("61b6dbe43d393774a1cf22cb"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61b6dbe83d393774a1cf22cc"), "name" : "jiro", "age" : 20, "gender" : "m" }
{ "_id" : ObjectId("61b6dbed3d393774a1cf22cd"), "name" : "saburo", "age" : 30, "gender" : "m" }
{ "_id" : ObjectId("61b6dc4c3d393774a1cf22ce"), "name" : "jiro", "age" : 25, "gender" : "f" }
{ "_id" : ObjectId("61b6dc503d393774a1cf22cf"), "name" : "jiro", "age" : 30, "gender" : "x" }

31件だけを取得します。

> db.foo.find({}).limit(3)

{ "_id" : ObjectId("61b6dbe43d393774a1cf22cb"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61b6dbe83d393774a1cf22cc"), "name" : "jiro", "age" : 20, "gender" : "m" }
{ "_id" : ObjectId("61b6dbed3d393774a1cf22cd"), "name" : "saburo", "age" : 30, "gender" : "m" }

3件だけが取得されていることが確認できます。

総件数を超えている場合は、全て取得されます。

> db.foo.find({}).limit(10)

{ "_id" : ObjectId("61b6dbe43d393774a1cf22cb"), "name" : "itiro", "age" : 10, "gender" : "m" }
{ "_id" : ObjectId("61b6dbe83d393774a1cf22cc"), "name" : "jiro", "age" : 20, "gender" : "m" }
{ "_id" : ObjectId("61b6dbed3d393774a1cf22cd"), "name" : "saburo", "age" : 30, "gender" : "m" }
{ "_id" : ObjectId("61b6dc4c3d393774a1cf22ce"), "name" : "jiro", "age" : 25, "gender" : "f" }
{ "_id" : ObjectId("61b6dc503d393774a1cf22cf"), "name" : "jiro", "age" : 30, "gender" : "x" }