mongoDB indexを追加する

mongoDB indexを追加する

mongoDBで、indexを追加する手順を記述してます。「createIndex」で「index」を追加したいフィールド名を指定して追加します。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

「index」を追加するには、「createIndex」を使用します。

db.コレクション名.createIndex({フィールド名:1})

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

> use hoge

> db.foo.find()

[
  {
    _id: ObjectId("639aac736dcdc72cf1d5b3c0"),
    name: 'itiro',
    age: 10,
    gender: 'm'
  },
  {
    _id: ObjectId("639aac736dcdc72cf1d5b3c1"),
    name: 'jiro',
    age: 20,
    gender: 'm'
  },
  {
    _id: ObjectId("639aac736dcdc72cf1d5b3c2"),
    name: 'saburo',
    age: 30,
    gender: 'm'
  },
  {
    _id: ObjectId("639aac736dcdc72cf1d5b3c3"),
    name: 'jiro',
    age: 25,
    gender: 'f'
  },
  {
    _id: ObjectId("639aac736dcdc72cf1d5b3c4"),
    name: 'jiro',
    age: 30,
    gender: 'x'
  }
]

まずは、現在のindexを確認してみます。

> db.foo.getIndexes()

[ { v: 2, key: { _id: 1 }, name: '_id_' } ]

ここに「age」を、indexに追加します。
「1」を指定すると昇順、「-1」を指定すると降順となります。

> db.foo.createIndex({age:1})

age_1

確認してみます。

> db.foo.getIndexes()

[
  { v: 2, key: { _id: 1 }, name: '_id_' },
  { v: 2, key: { age: 1 }, name: 'age_1' }
]

追加されたことが確認できます。