1

robomongo を使用して、何百万ものオブジェクトを含む mongodb コレクションをクエリしています。

どのオブジェクトが最大数のフィールドを持っているかを確認したいので、結果を各オブジェクト内のフィールド数で並べ替えたいと考えています。

たとえば、フィールド数が最も多いオブジェクトが検索結果の先頭に表示されるようにしたいと考えています。

4

1 に答える 1

0

このカウントをフィールドとしてドキュメントに明示的に保存しない限り、フィールドの数で結果をソートすることはできません。ドキュメントが取得されるまで、MongoDB はドキュメント内のフィールド数を認識しません。

フィールド数がユースケースにとって実際に意味のある値である場合、これを計算するカスタム スクリプトを作成する必要があります (そして、最上位のフィールドのみを気にするか、実際に埋め込みドキュメント/配列に再帰するかを決定します)。

于 2015-02-27T02:39:58.617 に答える