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

集計_idの同じフィールドエラー

    文書化された最も明確なポイントではありません。 Fieldsの別の表現が必要です ここでオブジェクトを使用して、複数フィールドの条件を適切に定義します。

    Aggregation aggregation = newAggregation(
        match(criteria),
        unwind("kademeler"),
        match(criteria),
        group(
            Fields.from(
                Fields.field("name1", "kademeler.isemirleri.isemriKaynagi.name"),
                Fields.field("name2", "kademeler.isemirleri.isemriSebebi.name")
            )).count().as("etkilenenAboneSayisi")
    );
    

    それはFields.fieldを使用しています 正しく解釈されるように「名前」と「ターゲット」を持つ定義。プレーンな文字列を使用すると、フィールド名の最後の「ドット」まですべてを削除するというデフォルトのアクションが発生します。エラーによると、これらは両方とも同じものです。このフォームで指定すると、ビルダーに適切な処理方法を指示します。

    これは基本的に$groupをシリアル化します として:

    { "$group": {
        "_id": {
            "name1": "$kademeler.isemirleri.isemriKaynagi.name",
            "name2": "$kademeler.isemirleri.isemriSebebi.name"
        },
        "etkilenenAboneSayisi": { "$sum": 1 }
    }}
    

    どちらが欲しいですか。




    1. MongoDB $ setは、フィールドだけを書き込むのですか、それともドキュメント全体を書き込むのですか?

    2. Mongo Javaドライバーを使用したDB.eval()

    3. あるコレクションから別のコレクションへのmongoコピー(同じデータベース上)

    4. 製品、オプション/タグ、およびカテゴリの保存、整理、およびクエリ