我有一个复杂的类(名为 ArticleData)。现在,当我使用以下代码创建 bsonDocument 时,生成的 bsonDocument 会自动获取文档 ID(即使我尝试自己设置“_id”):
// bson document created from ArticleData object
var doc = articleData.ToBsonDocument();
doc["_id"] = "12345678";
articleCollection.InsertOne(doc);
我无法以任何方式修改 ArticleData 类。否则,我可以添加一个字段“_id”并将其设置为我的自定义 ID。
有谁知道我如何将 bsonDocument 的 id 设置为自定义 id?
我编码的目的是将该 bsonDocument 保存到我的 cosmosDb 中。为了以后能够找到我的文档,我想查询我的自定义 ID(唯一的文章 ID)。
更新:现实生活中的例子:
{
"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"
}