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

Javaでmongodb$groupを使用する方法は?

    集約フレームワークを使用する必要があります。ヘルパークラスのすべてのメソッドを静的にインポートし、以下のコードを使用します。

    BasicDBObjectの使用 新しい3.xドライバーAPIでは必要ありません。新しいクラスDocumentを使用する必要があります 同様のニーズに対応します。

    import static com.mongodb.client.model.Accumulators.*;
    import static com.mongodb.client.model.Aggregates.*;
    import static java.util.Arrays.asList;
    import static com.mongodb.client.model.Filters.*;
    import static com.mongodb.client.model.Projections.*;
    
    Bson match = match(and(ne("DOCRANK", 0), ne("TAB", "People-Tab")));
    Bson group = group("$USERID", first("USERID", "$USERID"), first("DOCID", "$DOCID"), first("DOCRANK", "$DOCRANK"), first("QUERYTEXT", "$QUERYTEXT"));
    Bson projection = project(fields(include("USERID", "DOCID", "DOCRANK", "QUERYTEXT"), excludeId()));
    MongoCursor<Document> cursor = collection.aggregate(asList(match, group, projection)).iterator();
    

    投影ステージはオプションであり、完全な例を示すためにのみ追加されています。

    集計の詳細については、 https://docs.mongodb.com/manual/reference/演算子/集計/




    1. mongo-サーバー127.0.0.1:27017に接続できませんでした

    2. 大文字と小文字を区別しない場合のMongoDBへのクエリ(pymongo経由)

    3. RedHat /CentOS7システムにMongoDB4.2をインストールする方法

    4. mongoは、提供されたデータの配列から行をカウントします