Mongo Db驱动程序C#聚合更新

时间:2020-04-04 08:20:31

标签: c# mongodb

如何通过C#驱动程序为集合中的所有文档从另一个现有字段(NubmerLong)的值创建一个新字段(String)? 使用Mong Shell没问题:

db.getCollection("MyCollection").updateMany(
  { },
  [{ $set: { recordId: { $toString: "$id" } } }]
)

Mongo驱动程序具有UpdateDefinitions和PipelineDefinitions。而且它们之间没有兼容性。

1 个答案:

答案 0 :(得分:1)

这是一种合并C#驱动程序Update + Pipeline的方法:

var stage = new BsonDocument { { "$set", new BsonDocument { { "recordId", new BsonDocument { { "$toString", "$id" } } } } } };
var pipeline = PipelineDefinition<BsonDocument, BsonDocument>.Create(stage);
...
Builders<BsonDocument>.Update.Pipeline(pipeline)