2012-02-10 3 views
5

ObjectID 필드 이름을 '_id'에서 'id'또는 다른 것으로 변경할 수 있습니까?MongoDB에서 ObjectId 기본 필드의 이름을 구성 할 수 있습니까?

나는 문서를보고 있었고 지금까지 이것에 관해서 아무 것도 발견하지 못했다. 서버에서 pongongo (python 드라이버)와 함께 MongoDB를 사용하고 있습니다. 여기서 JSON 객체를 제공하고 클라이언트에서 사용하는 js 라이브러리는 'id'필드가있는 객체를 필요로합니다.

답변

3

데이터베이스는 항상 "_id"필드를 예상하거나 추가하지만 경우에 따라 실제로이 필드를 클라이언트에서 마스크 처리 할 수 ​​있습니다.

SONmanipulators에서 references을 확인하십시오. 삽입 할 때 문서를 변형하고 추출하여 "_id"필드가 "id"필드 인 것처럼 동적으로 변경되도록 할 수 있습니다. 그러나 이것은 단지 문서를 변형시킬 뿐이지 만 "id"필드가 실제로 데이터베이스에 존재하지 않기 때문에 findOne ({ "id": "1234567890"})은 아무것도 찾지 않습니다.

귀하의 유스 케이스에 대한 좋은 아이디어인지 스스로 결정해야합니다.

3

나는 그렇게 생각하지 않는다. _id 필드는 작성된 모든 문서에 대해 자동으로 작성됩니다. 정수 값과 같은 다른 것을 사용하려면 다른 id 필드를 만들 수 있습니다.

+0

네가 맞아. 너는 그것을 바꿀 수 없다. – Barrie

+0

글쎄, 그가 몽고를 다시 컴파일하지 않으면 그는 할 수 없다 :-) –

관련 문제