照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。
制限
パラメータ numericOrderingがtrueに設定されている場合、次の制限が適用されます。
比較では、連続する負でない整数のサブストリングのみが考慮されます。
numericOrderingは次の操作をサポートしていません。+-指数
数値または 10 進数(ND)カテゴリの Unicode コード ポイントだけが数字として扱われます。
数字の長さが 254 文字を超える場合、超過文字は別の数字として扱われます。
手順
AtlasData Explorer で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Database見出しの下のData Explorerをクリックします。
Data Explorerが表示されます。
localeの値を選択します。
MongoDB でサポートされている言語からlocaleを選択する必要があります。
その他の照合オプション パラメーターはすべてオプションです。 フィールドの説明については、「照合 」を参照してください。
例
次の文字列の数値および 10 進数値を含むコレクションを検討します。
[ { "n": "1" }, { "n": "2" }, { "n": "-2.1" }, { "n": "2.0" }, { "n": "2.20" }, { "n": "10"}, { "n": "20" }, { "n": "20.1" }, { "n": "-10" }, { "n": "3" } ]
次の検索クエリでは、 numericOrderingパラメータを含む照合ドキュメントを使用します。
db.c.find( { }, { _id: 0 } ).sort( { n: 1 } ).collation( { locale: 'en_US', numericOrdering: true } )
Atlas でドキュメントをクエリする方法について詳しくは、 データのクエリ を参照してください。
この操作では、次の結果を返します。
[ { "n": "-2.1" }, { "n": "-10" }, { "n": "1" }, { "n": "2" }, { "n": "2.0" } { "n": "2.20" }, { "n": "3" }, { "n": "10" }, { "n": "20" }, {"n": "20.1" } ]
numericOrdering: trueの場合、文字列値を数値のように昇順でソートします。2 つの負の値
-2.1と-10は、サポート対象外の-の文字が使われているため、期待どおりのソート順序でソートされません。