sql >> Databáze >  >> NoSQL >> MongoDB

Použití $addFields v ovladači MongoDB pro C#

BsonDocument lze převést na IPipelineStageDefinition. Chcete-li získat požadovaný dokument Bson:

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

Poté jej přidáte pomocí:

aggregate = aggregate.AppendStage(stage);

Nejsem si jistý, zda aggregate.Stages.Add udělá totéž nebo ne, ale myslím AppendStage je pravděpodobně lepší způsob, jak to udělat (ačkoli jsem nenašel žádnou dokumentaci, která by mi říkala, jaký je správný způsob, jak dělat většinu věcí, takže to bylo nalezeno metodou pokusu a omylu a kontrolou zdroje, abyste viděli, jak věci fungují)...

Můžete dokonce přidat další fáze pomocí normálních funkcí tvůrce scén, jako například:

aggregate = aggregate.Project(projectionDefinition);

nebo dokonce

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



  1. jak získat návratovou hodnotu findAndModify func v MongoDB s mongoose?

  2. mongoose geojson ve schématu, Nelze extrahovat geo klíče chyba

  3. Vypočítat hodnotu přeskočení pro daný záznam pro seřazené stránkování

  4. Je MongoDB platnou alternativou k relační db + lucene?