mongo-go-driver를 사용하여 쿼리 결과에 필드 포함 또는 제외
mongo-go-driver는 필드를 필터링하는 메커니즘을 제공합니다. 쿼리 결과를 통해 요구 사항에 따라 특정 필드를 포함하거나 제외할 수 있습니다. 그러나 findopt.Projection 옵션을 사용하려고 할 때 필드 이름이 올바르게 내보내지지 않으면 문제가 발생할 수 있습니다.
이 문제를 해결하려면 필드 이름이 내보낸 필드를 나타내는 대문자로 시작하는지 확인하세요. 또한 다음 예와 같이 구조체 태그를 사용하여 MongoDB 필드 이름을 Go 구조체 필드에 매핑할 수 있습니다.
type fields struct { ID int16 `bson:"_id"` }
필드 이름을 올바르게 내보낸 경우 프로젝션을 사용하여 쿼리를 수행할 수 있습니다. 다음과 같습니다:
var opts []*find.FindOptions projection := fields{ ID: 0, } opts = append(opts, find.Projection(projection)) s := bson.NewDocument() filter := bson.NewDocument(bson.EC.ObjectID("_id", starterId)) staCon.Collection.FindOne(nil, filter, opts...).Decode(s)
또는 bson.M 맵을 사용하여 투영:
options := find.FindOptions{} options.Projection = bson.M{"_id": 0} result := staCon.Collection.FindOne(nil, filter, &options).Decode(s)
적절한 필드 내보내기와 투영을 사용하면 MongoDB 쿼리 결과에서 필드를 효과적으로 필터링하여 특정 요구 사항에 맞게 응답을 조정할 수 있습니다.
위 내용은 mongo-go-driver를 사용하여 MongoDB 쿼리 결과에 필드를 포함하거나 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!