数据库
首页 > 数据库> > Mongodb c#驱动程序 – 将ID复制到插入的另一个字段

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;

标签:c,net,mongodb,nosql,mongodb-net-driver
来源: https://codeday.me/bug/20190628/1317769.html