私は自分のドライバーを書いているので、ワイヤプロトコルを介してこれを行う方法に興味があります。PHP は _id フィールドを含むように配列を自動的に変更するようです。それは具体的にどのように行うのですか?mongod サーバーに送信されるコマンド/クエリは何ですか?
どんな助けでも大歓迎です。
php ドライバーについてはわかりませんが、Java ドライバーのコードを調べると、id が指定されていない場合、このコードが実行されます(169 行目):
public ObjectId() {
_time = (int) (System.currentTimeMillis() / 1000);
_machine = _genmachine;
_inc = _nextInc.getAndIncrement();
_new = true;
}
新しいデフォルトを返しますObjectId
。
ドライバーが最後の挿入の _id を提供する必要がある場合、最も簡単な方法は、プログラマーから取得したドキュメントの一部ではない場合、クライアントで _id を生成することです。