2012-08-23 2 views
4

query을 참조 필드의 키 이름으로 사용할 때 MongoDB v2.0.7의이 이상한 동작이 발생했습니다. 내가 query_에 필드의 이름을 변경하는 경우, 모든 것이 괜찮습니다,"query"는 MongoDB에서 예약 된 이름입니까?

> db.item.insert({query: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}}) 
> db.item.find({query: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}}) 
> 

:하지만

내가 query라는 이름의 참조 필드와 레코드를 삽입하는 경우

는 MongoDB의 개체를 검색하는 데 실패

> db.item.insert({query: ObjectId("50361887352fc04c86af4c10")}) 
> db.item.find({query: ObjectId("50361887352fc04c86af4c10")}) 
{ "_id" : ObjectId("50361b44dd2290f4bb17a276"), "query" : ObjectId("50361887352fc04c86af4c10") } 
: 필드 간단한 비 - 화합물 값을 가지면
> db.item.insert({query_: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}}) 
> db.item.find({query_: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}}) 
{ "_id" : ObjectId("503619f0dd2290f4bb17a275"), "query_" : { "$ref" : "query", "$id" : ObjectId("50361887352fc04c86af4c10") } } 

또한 괜찮

내가 누락되었거나 MongoDB 버그입니까?

답변

2

문서화되지 않은 예약 된 필드 이름이 있다고 생각합니다. 나는 the same issue을 만났다.

+0

감사합니다. 이것은 꽤 짜증나는 버그입니다. 나는 MongoEngine을 사용하고 있으며 문제의 원인을 알아 내기 위해 어느 날 나를 필요로했다. –

+0

버그에 투표 해주세요. 지금 당장 저 밖에있는 저 밖에 없어요. – Thilo

+0

나는 논평에서 제 경우를 투표하고 설명했습니다. –