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

C#用のMongoDBドライバーで$addFieldsを使用する

    BsonDocument IPipelineStageDefinitionに変換できます。必要なBsonDocumentを取得するには、次のようにします。

    var addFieldsDefinitionDoc = BsonDocument.Parse(addFieldsDefinition.ToString());
    var stageElement = new BsonElement("$addFields", addFieldsDefinitionDoc);
    var stage = new BsonDocument(stageElement)
    

    次に、それを追加するには、次を使用します:

    aggregate = aggregate.AppendStage(stage);
    

    aggregate.Stages.Addかどうかはわかりません 同じことをするかどうかはわかりませんが、私は考えます AppendStageはおそらくそれを行うためのより良い方法です(ほとんどのことを行う正しい方法を教えてくれるドキュメントは見つかりませんでしたが、これは試行錯誤とソースの検査によってどのように機能するかを調べました)...

    次のような通常のステージビルダー関数を使用して、ステージを追加することもできます。

    aggregate = aggregate.Project(projectionDefinition);
    

    または

    aggregate = aggregate
        .AppendStage(stage)
        .Project(projectionDefinition);
    



    1. MongoDBは、_idに基づいて1分あたりの新しいドキュメントの数をカウントします

    2. イベントをカウントし、集計中に文字列リテラルを挿入します

    3. KoyebにMongoDBAtlasとApolloServerを使用してGraphQLAPIをデプロイします

    4. Mongo集計複数の値に一致