예. 아니요. 실제로 이런 조작을하려면 aggregation framework이 필요합니다. 주문을 변경하려면 필드의 이름을 변경해야하기 때문에 조금 까다 롭습니다. 이는 하나의 "파이프 라인"단계에서 다른 단계로 콘텐츠를 "복사"하는 일반적인 최적화가 있기 때문입니다. 이것은 최적의 것으로 간주됩니다.
db.collection.aggregate([
{ "$project": {
"tcity": "$city",
"tfname": "$fname",
"tlname": "$lanme"
}},
{ "$project": {
"city": "$tcity",
"fname": "$tfname",
"lname": "$tlname"
}}
])
매우 인위적인하지만 당신이 그것을 할 수있는 방법입니다
하지만 당신은 항상이 작업을 수행 할 수 있습니다. 그렇지 않으면 원하는 순서로 "이름이 바뀐"필드에 대한 단일 프로젝션으로 살고 코드에서 다시 "이름 바꾸기"를 수행하십시오.
물론 코드는 쿼리 결과의 필드 이름을 "다시 매핑"할 수 있습니다.
그러나 기본 점은 MongoDB 자체가 필드의 원래 순서를 "최적화"로 "보존"하여 저장 방법을 지정하고 그렇지 않은 경우 출력을 엉망으로 만들지 않는다는 것입니다. 당신이 원한다면 그렇게 할 수 있지만, 그렇게하기 위해서는 그림과 같이 조치를 취해야합니다.
당신은 필드의 순서에 대해 신경 이유가 궁금 참조하십시오. 잘못된 문제를 해결하려고 할 수도 있습니다. – JohnnyHK