mongoDB ドキュメント(レコード)を最初の1件だけ取得する

mongoDB ドキュメント(レコード)を最初の1件だけ取得する

mongoDBで、ドキュメント(レコード)を最初の1件だけ取得する手順を記述してます。「findOne」を使用して取得します。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

ドキュメント(レコード)を最初の1件だけ取得するには、「db.コレクション名.findOne()」を使用します。

db.コレクション名.findOne({});

実際に、以下のデータベース「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" }

プロパティ名が「jiro」のものの最初の1件だけを取得します。

> db.foo.findOne({ name  : 'jiro' });

{
        "_id" : ObjectId("61b6dbe83d393774a1cf22cc"),
        "name" : "jiro",
        "age" : 20,
        "gender" : "m"
}

初めに見つかった1件だけが取得されていることが確認できます。