Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

ワイルドカード インデックス署名

MongoDB5.0 以降では、 ワイルドカードwildcardProjection インデックスの オプションがインデックス署名に含まれます。つまり、wildcardProjection オプションに同じフィールドが含まれていない限り、同じ パスワードなし を持つ複数のワイルドカードを作成できます。

MongoDB 6.3、6.0.5、および 5.0.16 以降では、wildcardProjection フィールドには送信された形式でインデックス プロジェクションが格納されます。それ以前のバージョンでは、プロジェクションは正規化された形式で保存されている場合があります。

サーバーは同じ方法でインデックスを使用しますが、 listIndexes } コマンドとdb.collection.getIndexes()コマンドの出力には違いが生じる場合があります。

booksコレクションの次のワイルドカード インデックスを検討します。

db.books.createIndex(
{
"$**": 1
},
{
wildcardProjection: {
"author.name": 1,
"author.website": 1
},
name: "authorWildcard"
}
)

インデックスキー パターンは"$**"です。 別のwildcardProjectionを指定すると、同じキー パターンを持つ別のワイルドカード インデックスを作成できます。 例:

db.books.createIndex(
{
"$**": 1
},
{
wildcardProjection: {
"publisher.name": 1
},
name: "publisherWildcard"
}
)

作成されたインデックスを表示するには、 getIndexes()メソッドを実行します。

db.books.getIndexes()

出力:

[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{
v: 2,
key: { '$**': 1 },
name: 'authorWildcard',
wildcardProjection: { author: { website: true, name: true }, _id: false }
},
{
v: 2,
key: { '$**': 1 },
name: 'publisherWildcard',
wildcardProjection: { publisher: { name: true }, _id: false }
}
]

戻る

埋め込みオブジェクトと配列

項目一覧