微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

通过官方c#驱动程序将新文档插入 mongodb之后,如何立即读回生成的_id,以便将其用作其他集合的“外来”键?我知道在sql server中我可以立即读回新插入行的标识列值,所以我需要mongodb中的类似功能.

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

解决方法

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

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

一般形式如下:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐