我感兴趣的是如何通过有线协议做到这一点,因为我在写我自己的驱动程序的_id。似乎PHP自动修改数组以包含_id字段。它具体做得如何?什么命令/查询发送到mongod服务器?MongoDB的:获取最后插入
任何帮助表示赞赏。
我感兴趣的是如何通过有线协议做到这一点,因为我在写我自己的驱动程序的_id。似乎PHP自动修改数组以包含_id字段。它具体做得如何?什么命令/查询发送到mongod服务器?MongoDB的:获取最后插入
任何帮助表示赞赏。
如果你的驱动需要提供最后插入的_id,最简单的方法是生成客户端上的_id,如果它不是已经从编程获取文档的一部分。
我不知道的PHP驱动程序,而是通过Java驱动程序的代码去,如果不提供一个id,this code is executed(在行169):
public ObjectId() {
_time = (int) (System.currentTimeMillis()/1000);
_machine = _genmachine;
_inc = _nextInc.getAndIncrement();
_new = true;
}
返回一个新的默认ObjectId
。
许多来自10gen公司的司机产生它的客户端(如,你可以通过查看驱动器的开放源代码实现见)。有什么问题?你有什么尝试?你在写什么语言的驱动程序? – WiredPrairie
值得一提的是BSON ID的几乎都是客户端生成;他们的规范专门设计用于允许它们由分布式客户端生成而不会发生碰撞。 –