首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回vapor4中的特定字段

返回vapor4中的特定字段
EN

Stack Overflow用户
提问于 2021-08-19 14:36:52
回答 1查看 27关注 0票数 1

我不想获取location字段,但返回其他字段。我该怎么做呢?

代码语言:javascript
复制
    func getperinfo(_ req: Request) throws -> EventLoopFuture<[Info]>{
          
             let user = try req.auth.require(User.self)
    
            return Info.query(on: req.db).filter(\.$user.$id == user.id!).all()
        }

型号:

代码语言:javascript
复制
    import Foundation
    import Fluent
    import Vapor
    import FluentPostgresDriver
    import FluentPostGIS
    
    final class Info:Model,Content{
        static let schema = "info"
        
        @ID(key: .id)
        var id:UUID?
        
        @Field(key: "姓名")
        var name: String
        
        @Field(key: "IG帳號")
        var account: String
        
        @Field(key: "頭像")
        var picture: String
        
        @Field(key: "年紀")
        var age: String
        
        @Field(key: "生日")
        var birth: String
        
        @Field(key: "居住城市")
        var city: String
        
        @Field(key: "興趣")
        var hobby : String
        
        @Field(key:"位置")
        var location: GeometricPoint2D
        
        @Parent(key: "user_id")
        var user: User
    
        init(){}
        
        init(id:UUID?=nil, name:String, account:String, picture:String ,age:String, birth:String,location: GeometricPoint2D , city:String, hobby:String, userId:UUID){
            self.id=id
            self.name=name
            self.account=account
            self.picture=picture
            self.age=age
            self.birth=birth
            self.location=location
            self.city=city
            self.hobby=hobby
            self.$user.id=userId
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-19 14:58:49

您只需创建一个字段较少的新结构,然后将结果映射到其中

代码语言:javascript
复制
struct MyCustomResult: Content {
    let id: UUID
    let name: String
}

func getperinfo(_ req: Request) throws -> EventLoopFuture<[MyCustomResult]>{
    let user = try req.auth.require(User.self)
    return Info.query(on: req.db).filter(\.$user.$id == user.id!).all().map {
        $0.map { MyCustomResult(id: $0.id!, name: $0.name) }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68849876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档