MongoDB:使用多个并发编写器获取上次插入文档的ObjectId?
考虑以下MongoDB场景: 三个编写器(A、B、C)将文档插入同一个集合 首先插入A,然后插入B,然后插入C 我们如何保证A检索他插入的文档的ObjectId,而不是B的文档或C的文档?我们是否需要序列化写入(即,仅允许B在A插入并检索ObjectId之后写入),或者MongoDB是否为此场景提供了一些本机功能 谢谢MongoDB:使用多个并发编写器获取上次插入文档的ObjectId?,mongodb,mongoid,mongomapper,nosql,Mongodb,Mongoid,Mongomapper,Nosql,考虑以下MongoDB场景: 三个编写器(A、B、C)将文档插入同一个集合 首先插入A,然后插入B,然后插入C 我们如何保证A检索他插入的文档的ObjectId,而不是B的文档或C的文档?我们是否需要序列化写入(即,仅允许B在A插入并检索ObjectId之后写入),或者MongoDB是否为此场景提供了一些本机功能 谢谢 我们在正轨上。这里的正常模式是驱动程序分配ObjectId,然后在服务器获取ObjectId之前您就知道插入是什么。这里的正常模式是驱动程序分配ObjectId,然后您就知道在服
我们在正轨上。这里的正常模式是驱动程序分配ObjectId,然后在服务器获取ObjectId之前您就知道插入是什么。这里的正常模式是驱动程序分配ObjectId,然后您就知道在服务器获取ObjectId之前插入是什么。您可以生成
\u id
插入文档之前,在客户端应用程序(编写器)中输入值。这样,您就不需要依赖生成ObjectId的服务器来检索正确的值。如果您将_id留空,大多数MongoDB语言驱动程序将自动为您执行此操作。您可以在插入文档之前在客户端应用程序(编写器)中生成\u id
值。这样,您就不需要依赖生成ObjectId的服务器来检索正确的值。如果您将_id留空,大多数MongoDB语言驱动程序将自动为您执行此操作。findAndModify命令还将返回分配的对象id;在那里,你可以做一个上插。findAndModify命令还返回分配的对象id;在那里,你可以做一个上插。