デフォルトの照合順序を使用したビューの作成
照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。
このページでは、ビューのデフォルトの照合方法を指定する方法について説明します。
例
次のドキュメントを使用して places
コレクションを作成します。
db.places.insertMany([ { _id: 1, category: "café" }, { _id: 2, category: "cafe" }, { _id: 3, category: "cafE" } ])
次の操作では ビューが作成され、ビュー レベルで 照合 を指定します。
db.createView( "placesView", "places", [ { $project: { category: 1 } } ], { collation: { locale: "fr", strength: 1 } } )
次の操作では、ビューの照合順序を使用します。
db.placesView.countDocuments( { category: "cafe" } )
この操作では、3
を返します。
注意
照合動作
作成時にビューのデフォルトの照合方法を指定できます。照合方法が指定されていない場合、ビューのデフォルトの照合には「単純な」バイナリ比較照合子が使用されます。つまり、ビューはコレクションのデフォルトの照合方法を継承しません。
ビューでの文字列比較では、ビューのデフォルトの照合方法が使用されます。ビューのデフォルトの照合方法を変更または上書きしようとする操作は、エラーとなり、失敗します。
別のビューからビューを作成する場合、ソース ビューの照合方法と異なる照合方法を指定することはできません。
複数のビューが関わる集計(
$lookup
や$graphLookup
など)が実行される場合、それらのビューには同じ照合が含まれる必要があります。