이 기사에서는 PHP 편집자 Zimo가 Fiber/MongoDB 응답에서 필드를 삭제하고 모델을 재사용하는 방법을 소개합니다. 데이터베이스에서 데이터를 가져올 때 특정 요구 사항을 충족하거나 민감한 정보를 보호하기 위해 일부 필드를 삭제해야 하는 경우가 있습니다. Fiber/MongoDB는 고성능 웹 애플리케이션을 빠르게 구축할 수 있는 널리 사용되는 PHP 프레임워크입니다. 이 기사에서는 Fiber/MongoDB의 강력한 기능을 사용하여 애플리케이션에서 필드를 제거하고 모델을 재사용함으로써 코드의 재사용성과 유지 관리성을 향상시키는 방법을 알아봅니다.
코드 벽을 만들지 않고, 필요하지 않을 때는 코드를 다시 선언하지 않으려고 노력하고 있습니다.
지금 내 두 가지 주요 질문은 다음과 같습니다.
라인 47에서 기존 사용자 모델을 가져와서 userCollection.FindOne(ctx, filter, opts).Decode(&user)
进行了覆盖/解码,但它没有被更新,第 46 行中的选项不被应用,除非我声明var user2 = models.User
라인 47에서 user2로 디코딩한 다음 라인 49에서 user2를 반환합니다
라인 46에는 opts := options.FindOne().SetProjection(bson.M{"password": 0})
이 있습니다. 위 예에서 두 번째 사용자 user2를 사용하면 JSON 응답에 비밀번호가 반환되지만 비어 있습니다. 응답에 사용하기 위해 다른 사용자 모델을 만들지 않고도 응답에서 비밀번호 키를 완전히 제거할 수 있습니까?
비밀번호 필드 없이 별도의 모델을 생성하고UserResponse
응답의 옵션을 통해 FindOne의 출력을 볼 수 있도록 CreateUser 함수에서 두 번째 User 모델을 선언해 보았습니다.
몇 시간 동안 문제를 파악하고 여기에 게시한 후 정말 멋진 순간을 보냈습니다.
여기서 변경된 모든 사항은 사용자를 빈 사용자 모델로 다시 선언하는 것입니다.
으아악위 내용은 모델 재사용 및 Fiber/MongoDB 응답에서 필드 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!