Я получил сложный класс (названный ArticleData).
Теперь, когда я создаю bsonDocument, используя следующий код, результирующий bsonDocument автоматически получает идентификатор документа (даже если я сам пытаюсь установить «_id»):
// bson document created from ArticleData object
var doc = articleData.ToBsonDocument();
doc["_id"] = "12345678";
articleCollection.InsertOne(doc);
Я не могу каким-либо образом изменить класс ArticleData.
В противном случае я мог бы добавить поле '_id' и установить его в свой пользовательский идентификатор.
Кто-нибудь знает, как я могу установить идентификатор bsonDocument для пользовательского идентификатора?
Цель моего кодирования - сохранить этот bsonDocument в моем cosmosDb. Чтобы потом найти мои документы, я бы хотел запросить мой пользовательский идентификатор (уникальный идентификатор статьи).
Обновление : Пример из реальной жизни:
{
"ArticleID" : 9993,
"ArticleRevisionID" : 9993,
"StructureID" : 10000,
"StructureGroupID" : 10578,
"StructureGroupRevisionID" : 10578,
"ParentIdentifier" : "PS_1294.2",
"ModelIdentifier" : "PS_1294.2",
"ModelNrCatalog" : "1294.2",
"MaterialNumber" : "624341"
}
результирующий документ bson:
{
"_id" : ObjectId("5cd28ea84085af2d6c8318d2"),
"_t" : "MongoDB.Bson.BsonDocument, MongoDB.Bson",
"_v" : {
"_id" : "12345678"
"ArticleID" : 9993,
"ArticleRevisionID" : 9993,
"StructureID" : 10000,
"StructureGroupID" : 10578,
"StructureGroupRevisionID" : 10578,
"ParentIdentifier" : "PS_1294.2",
"ModelIdentifier" : "PS_1294.2",
"ModelNrCatalog" : "1294.2",
"MaterialNumber" : "624341"
}