0

我对如何通过有线协议执行此操作很感兴趣,因为我正在编写自己的驱动程序。似乎 PHP 会自动修改数组以包含 _id 字段。它具体是如何做到的?什么命令/查询被发送到 mongod 服务器?

任何帮助表示赞赏。

4

2 回答 2

2

我不知道 php 驱动程序,但是通过 Java 驱动程序的代码,如果没有提供 id,则执行此代码(在第 169 行):

public ObjectId() {
    _time = (int) (System.currentTimeMillis() / 1000);
    _machine = _genmachine;
    _inc = _nextInc.getAndIncrement();
    _new = true;
}

返回一个新的默认值ObjectId

于 2013-06-26T22:13:54.843 回答
1

如果您的驱动程序需要提供最后一次插入的 _id,最简单的方法是在客户端生成 _id(如果它还不是您从程序员那里获得的文档的一部分)。

于 2013-06-26T22:19:22.940 回答