我已将SetIdMember()
类映射设置为指向对象内的元素:
BsonClassMap.RegisterClassMap<Person>(x =>
{
x.AutoMap();
x.SetIdMember(x.GetMemberMap(p => p.PersistedId));
});
效果很好,但是我正在查看 mongo 数据(通过 MongoVUE)并注意到 PersistedId 字段未存储在数据库中的任何位置,我认为这是因为它将它映射到 _id 字段。
现在对于 99% 的场景,我确信这很好,但是在这种情况下,我使用的是非强类型模型,并拉回原始 BsonDocument,然后将其转换为 JSON 以交给客户端脚本,然后进一步使用。然而,它期望在 JSON 中获得一个 PersistedId 字段,但它不存在,它只是 _id。
那么有没有办法让我让它完成整个独特的 _id 字段的事情,但也让它把 PersistedId 字段也写到数据库中?(我知道它会是重复的数据,但它不是一个大问题)