使用MongoDB考虑以下场景:
三位作家(A,B,C)将文档插入同一集合。
首先插入,然后是B,接着是C。
我们如何保证A检索他插入的文件的ObjectId而不是B的文件或C的文件?我们是否需要序列化写入(即,在A插入和检索ObjectId后只允许B写入),或者MongoDB是否为此场景提供了一些本机功能?
谢谢!
我们在Rails上。
答案 0 :(得分:0)
这里的正常模式是驱动程序分配ObjectId然后在服务器获取插件之前就知道它是什么。
答案 1 :(得分:0)
您可以在插入文档之前在客户端应用程序(编写器)中生成_id
值。这样您就不需要依赖生成ObjectId的服务器来检索正确的值。如果将_id留空,大多数MongoDB语言驱动程序会自动为您执行此操作。