MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Używanie $addFields w sterowniku MongoDB dla C#

BsonDocument można przekonwertować na IPipelineStageDefinition. Aby uzyskać żądany dokument BsonDocument:

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

Następnie, aby go dodać, po prostu użyj:

aggregate = aggregate.AppendStage(stage);

Nie jestem pewien, czy aggregate.Stages.Add zrobiłbym to samo lub nie, ale myślę AppendStage jest prawdopodobnie lepszym sposobem na zrobienie tego (chociaż nie znalazłem żadnej dokumentacji mówiącej mi, jaki jest właściwy sposób robienia większości rzeczy, więc zostało to znalezione metodą prób i błędów oraz sprawdzenie źródła, aby zobaczyć, jak to działa)...

Możesz nawet dodać dodatkowe etapy, korzystając z normalnych funkcji kreatora etapów, takich jak:

aggregate = aggregate.Project(projectionDefinition);

a nawet

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konwertowanie BSON Type ObjectId na JSON (przechowywanie w Mongodb) — Java

  2. Pobierz tablicę d3.js z adresu URL

  3. MongoDB ISODate() a sygnatura czasowa UNIX

  4. MongoDB $pomnóż

  5. Baza danych MongoDB usunięta automatycznie