sql >> データベース >  >> NoSQL >> MongoDB

特定のタイプの限られた数のレコードを返しますが、他のレコードの数は無制限ですか?

    現在(2.6)1つの集約パイプラインでこれを行うことは不可能だと思います。理由を正確に説明することは困難ですが、基本的に、集約パイプラインは、一度に1つのドキュメントでドキュメントのストリームの変換を実行します。ストリーム自体の状態のパイプライン内の認識はありません。これは、A、Bなどの制限に達し、同じタイプのドキュメントをさらにドロップする必要があることを判断するために必要なものです。 $group 複数のドキュメントをまとめて、それらのフィールド値を集約して、結果のグループドキュメント($sum)に影響を与えることができます。 、$avg など)。これは理にかなっているかもしれませんが、タイプに基づいて制限できるようにするために追加できる簡単な操作があるため、必ずしも厳密ではありません。たとえば、$push xを追加します。 $groupへのアキュムレータ プッシュ先の配列の要素数がx未満の場合にのみ、値をプッシュします。

    それを行う方法があったとしても、2つの集計を行うことをお勧めします。シンプルにしてください。



    1. コマンドプロンプトでRedisのキーと値を取得する

    2. プールからリソースを取得できませんでした(SocketTimeoutException :)

    3. クエリのキーにあるMongoDBワイルドカード

    4. MongoDB$pull配列2レベル