加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在使用官方c#驱动程序插入后从mongo读回自动生成的ID?

发布时间:2020-12-15 17:22:40 所属栏目:百科 来源:网络整理
导读:通过官方c#驱动程序将新文档插入 mongodb之后,如何立即读回生成的_id,以便将其用作其他集合的“外来”键?我知道在sql server中我可以立即读回新插入行的标识列值,所以我需要mongodb中的类似功能. 由于mongo生成的_id不是对象的实际成员,假设您需要对通用bso
通过官方c#驱动程序将新文档插入 mongodb之后,如何立即读回生成的_id,以便将其用作其他集合的“外来”键?我知道在sql server中我可以立即读回新插入行的标识列值,所以我需要mongodb中的类似功能.

由于mongo生成的_id不是对象的实际成员,假设您需要对通用bsondocument执行某些操作?

解决方法

您可以使用findAndModify命令进行upsert以实现相同的效果,而不是通过生成自己的id来完成相同的工作. (为什么麻烦,有一个很好的理由10gen决定使用的方案 – 它可以轻松分片)

findAndModify命令允许您查找或升级(如果它不存在则创建)文档并返回该文档.

一般形式如下:

db.runCommand( { findAndModify : <collection>,<options> } )

你可以阅读更多关于它here.

除了upsert选项之外,您还希望使用new,以便返回新创建的对象.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读