набор драйверов mongodb c # _id документа bson

#c# #mongodb #bson

#c# #mongodb — монгодб #bson #mongodb

Вопрос:

При создании документа bson с пользовательским идентификатором, как в следующем примере, _id не равен 123, он будет сгенерирован автоматически

 var balls = dbContext.Database.GetCollection<BsonDocument>("Balls");
var ballDoc = new BsonDocument
                {
                    {"_id", BsonObjectId.Parse("123")},
                    {"Name", ".."},
                };

 await balls.InsertOneAsync(ballDoc).ConfigureAwait(false);
  

Когда делаешь это:

 var balls = dbContext.Database.GetCollection<Balls>("Balls");
var ball = new Ball
                {
                  Id = ...
                };

 await balls.InsertOneAsync(ball).ConfigureAwait(false);
  

Идентификатор — 123.
Почему? И как я могу установить _id при использовании документов bson?

Комментарии:

1. Я только что попробовал приведенный выше пример кода, и он отлично работает.

2. На самом деле, какой тип dbContext ? и является ли база данных просто IMongoDatabase ?

3. да, извините, 123 работает нормально, проблема возникает ТОЛЬКО при установке _id объекта bson на 000000000000000000000000.

Ответ №1:

123 работает нормально, проблема возникает ТОЛЬКО при установке _id объекта bson на 000000000000000000000000. Все остальное, как 000000000000000000000001, работает.
Но установка _id типизированного объекта в 000000000000000000000000 работает…. Мне нужно смириться с этим.