sql >> Database teknologi >  >> NoSQL >> MongoDB

Brug af $addFields i MongoDB Driver til C#

Et BsonDocument kan konverteres til en IPipelineStageDefinition. For at få det BsonDocument, du ønsker, vil du bare have:

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

For at tilføje det skal du blot bruge:

aggregate = aggregate.AppendStage(stage);

Jeg er ikke sikker på, om aggregate.Stages.Add ville gøre det samme eller ej, men jeg tror AppendStage er nok den bedre måde at gøre det på (selvom jeg ikke har fundet nogen dokumentation, der fortæller mig, hvad den rigtige måde at gøre de fleste ting på er, så dette blev fundet gennem forsøg og fejl og inspicering af kilden for at se, hvordan tingene fungerer)...

Du kan endda tilføje yderligere stadier ved at bruge de normale scenebyggerfunktioner som sådan:

aggregate = aggregate.Project(projectionDefinition);

eller endda

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



  1. Hvordan søger jeg efter et objekt ved dets ObjectId i mongo-konsollen?

  2. Få optælling af logniveau for hvert navn

  3. ReferenceError:TextEncoder er ikke defineret med mongodb noder

  4. golang mongodb (mgo) indsætter ikke dokumenter