2013-06-26 2 views
0

나는 내 자신의 드라이버를 쓰고있어 와이어 프로토콜을 통해이 작업을 수행하는 방법에 관심이 있습니다. PHP가 _id 필드를 포함하도록 배열을 자동으로 수정하는 것 같습니다. 얼마나 구체적으로 그렇게합니까? mongod 서버에 어떤 명령/쿼리가 전송됩니까?MongoDB : 마지막 삽입물의 _id를 얻으십시오

도움을 주시면 감사하겠습니다.

+0

10Gen의 드라이버 중 많은 수가 클라이언트에서 생성됩니다 (드라이버의 오픈 소스 구현을 보면 알 수 있듯이). 그게 무슨 문제 야? 너 뭐 해봤 니? 어떤 언어로 운전 기사를 쓰고 있습니까? – WiredPrairie

+0

BSON ID는 거의 항상 클라이언트 생성됩니다. 그들의 사양은 충돌없이 분산 클라이언트에 의해 생성되도록 특별히 설계되었습니다. –

답변

1

드라이버가 마지막 삽입물의 _id를 제공해야하는 경우, 클라이언트에서 _id를 생성하는 것이 가장 쉬운 방법은 프로그래머가 가져온 문서의 일부가 아닌 경우입니다.

2

나는 PHP 드라이버에 대해 알고 있지만 ID가 제공되지 않으면, 자바 드라이버의 코드를 통과하지 않는, this code is executed (라인 169) :

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

는 새 기본을 반환 ObjectId.

관련 문제