mongoDB 結果を見やすく整形する

mongoDB 結果を見やすく整形する

mongoDBで、結果を見やすく整形する手順を記述してます。mongoDB6.0.2の場合は「find」のみでも整形されているようで、mongo5だと「db.コレクション名.find({}).pretty()」で可能です。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

mongoDB6.0.2の場合は「pretty()」を使用しなくても整形されているようです。

> db.foo.find()
[
  {
    _id: ObjectId("63622cf07c4cb89d6c5c570b"),
    name: 'siro',
    age: 22,
    gender: 'f'
  },
  {
    _id: ObjectId("63622cf07c4cb89d6c5c570c"),
    name: 'goro',
    age: 23,
    gender: 'x'
  },
  {
    _id: ObjectId("63622db47c4cb89d6c5c570d"),
    name: 'siro',
    age: 22,
    gender: 'f'
  },
  {
    _id: ObjectId("63622db47c4cb89d6c5c570e"),
    name: 'goro',
    age: 23,
    gender: 'x'
  }
]

mongoDB5の場合

環境

  • OS Ubuntu 20.04
  • MongoDB 5.0.5

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

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

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

「pretty」を使用してみます。

> db.foo.find({}).pretty()

{
        "_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"
}

整形されて出力されていることが確認できます。