在InsertOneAsync之后,MongoDB id保持为空

兰迪·沃特

我有一个具有字符串Id成员和派生类A的基类Entity。

但是,当创建派生类的新实例并使用InsertOneAsync将其添加到我的集合中时,文档将以null作为Id值添加到数据库中。

使用ObjectId作为ID似乎可以正常工作,但是我试图在模型中防止MongoDB依赖性。

我还尝试了以下代码,但结果是相同的:

BsonClassMap.RegisterClassMap<Entity>(cm =>
{
    cm.MapIdField(x => x.Id).SetSerializer(new StringSerializer(BsonType.ObjectId));
});
迈克·考吉尔

我遇到了同样的问题,最后使它们(具有2.0驱动程序)与以下属性一起工作:

[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
[BsonIgnoreIfDefault]

或等效的BsonClassMap流利接口:

BsonClassMap.RegisterClassMap<Entity>(cm =>
{
      cm.MapIdField(x => x.Id)
      .SetSerializer(new StringSerializer(BsonType.ObjectId))
      .SetIgnoreIfDefault(true);
});

我试图在Upsert上使用.ReplaceOneAsync进行相同的操作,但是始终使id仍然为null

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mongodb:日志文件保持为空

来自分类Dev

即使在POST请求之后,Django中的JSONField仍保持为空

来自分类Dev

Mongodb + AngularJS:通过resourceProvider更新时_id为空

来自分类Dev

MongoDb将$ group'_id'空值汇总为不同的值

来自分类Dev

WebServiceContext保持为空

来自分类Dev

数组保持为空

来自分类Dev

UITableViewCell保持为空

来自分类Dev

DropDownList 保持为空

来自分类Dev

MongoDB Java客户端在“ replaceOne”上将“ _id”存储为空

来自分类Dev

语法错误:丢失:在属性 id 之后 - MongoDB

来自分类Dev

在将数据导入到mongodb之后以及创建之后,行的字段_id的不同类型

来自分类Dev

onresume之后,ViewPager中的片段为空

来自分类Dev

fputcsv之后文件为空

来自分类Dev

获取正文内容::之后但为空

来自分类Dev

为MongoDb生成_id

来自分类Dev

API 密钥保持为空

来自分类Dev

主义Mongodb ID为空白

来自分类Dev

MongoDB:$ all全部为空数组...

来自分类Dev

Sonata / Symfony使用MongoDB过滤为空

来自分类Dev

mongodb includesTo外键为空

来自分类Dev

从.Net Core 2.2升级到3.0之后,UserManager引发异常-由于主键属性'Id'为空,因此无法跟踪实体

来自分类Dev

之后将空数组元素删除为json_encode

来自分类Dev

在过滤数据angularjs之后显示消息为空结果

来自分类Dev

集合上的.fetch()之后,主干下拉列表为空

来自分类Dev

fs.readFile之后关闭文件,为空

来自分类Dev

之后将空数组元素删除为json_encode

来自分类Dev

sudo之后LD_LIBRARY_PATH始终为空

来自分类Dev

webpack vue.js 之后`document` 为空

来自分类Dev

Designer resx文件保持为空