최근에 내 서버에 버그가 발생했으며 조사가 끝난 후 MongoDB 사전은 BSON 구조로 인해 주문되었습니다._id 및 다른 필드에서 MongoDB 필드 정렬 동작이 다른가요?
내가 이해할 줄 알았는데, 이해할 수없는 테스트가있다. (mongo 2.6.4) : 그 필드는 _id
에 대해서만 문제가 되는가?
시험 1 : 삽입 {A : 1, B 2} 및 룩업 {B : (2), 1} - : 삽입 {smthg>
> db.d.insert({a: 1, b: 2})
> db.d.find()
{ "_id" : ObjectId("54c4dfd17e8b0ba11cf1539d"), "a" : 1, "b" : 2 }
> db.d.find({b: 2, a: 1})
{ "_id" : ObjectId("54c4dfd17e8b0ba11cf1539d"), "a" : 1, "b" : 2 }
시험 2 FOUND {A : 1, B : 2}} 및 조회 {smthg : {B : 2, A : 1}} -> 설명에 대한
> db.d.insert({smthg: {a: 1, b: 2}})
> db.d.find({smthg: {b: 2, a: 1}})
> db.d.find({smthg: {a: 1, b: 2}})
{ "smthg" : { "a" : 1, "b" : 2 } }
덕분에
내가 물어 봐도 될까요? – joao
@joao 키로 사용합니다. 예를 들면 : _id : {first_name, last_name} 그리고 나는 그것을 조사 할 수 있습니다. 다른 이유 : mapreduce의 열쇠는이 형태로 제공됩니다. – Thomas
문서 _id는 합당한 이유가없는 한 모든 문서가 가지고 있으며 혼동해서는 안되는 특별한 고유 한 필드입니다. 첫 번째 예에서 보여준 것처럼 필드를 추가하여 문제를 해결할 수 있습니다. 또한, map-reduce의 결과 _id는 원본 문서 _id와 아무 관련이 없으므로 여기에서 논리를 수행 할 필요가 없습니다. – joao