Mongodb c#驱动程序 – 将ID复制到插入的另一个字段

我正在使用.Net – mongodb c#driver for monngodb.插入文档时,我想将生成的[BsonId] ObjectId Id字段复制到文档中的另一个字段(复制值)

我可以运行Insert,它将生成密钥,然后运行update以将密钥复制到另一个字段,但这将使db处于“软”状态一段(短暂)时间.

是否有可能“原子地”这样做或者我使用mongodb错了吗?

解决方法:

如果您希望更新是原子的,那么您无法真正做到这一点.

我建议你做的不是让驱动程序设置Id,而是使用ObjectId.GenerateNewId自己创建和设置它,然后在将文档插入MongoDB之前复制它:

entity.Id = ObjectId.GenerateNewId();
entity.IdCopy = entity.Id;

相关文章

校园网上订餐系统系统主要功能模块包括公告内容(公告栏、轮...
从今天开始,正式进入项目阶段。本次的项目是跟着黑马的瑞吉...
在可预见的将来,IT不会萎缩,只会越发展越庞大,最终会渗透...
vulntarget-b靶场最详细通关记录。
MongoDB是一个开源、高性能、支持海量数据存储的。
【NoSQL数据库技术与应用】课本代码、课后答案(持续更新)