Mon go Db драйвер C# агрегация для обновления - PullRequest
0 голосов
/ 04 апреля 2020

Как создать новое поле (String) из значения другого существующего поля (NubmerLong) для всех документов в коллекции с помощью драйвера C#? При использовании Mong Shell проблем нет:

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

Mon go Драйвер имеет UpdateDefinitions и PipelineDefinitions. И никакой совместимости между ними.

1 Ответ

0 голосов
/ 04 апреля 2020

Вот способ объединения подходов. Обновление + конвейер для C# драйвера:

var stage = new BsonDocument { { "$set", new BsonDocument { { "recordId", new BsonDocument { { "$toString", "$id" } } } } } };
var pipeline = PipelineDefinition<BsonDocument, BsonDocument>.Create(stage);
...
Builders<BsonDocument>.Update.Pipeline(pipeline)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...