如何获取 mongodb mgo.v2 中的所有记录?

我想通过使用 NAME 来获取数据库中的所有记录,但是,如果我使用 ALL,它会显示 500 内部错误,但是,如果我保留一个(JSON),我只会得到一条记录。按名称获取所有记录的解决方案是什么?


func (uc UserController) Filter(c *gin.Context) {

    var name = c.Params.ByName("Name")

    var json models.User

    err := c.Bind(&json)

    if err != nil {

        log.Fatal("error")

        return

    }

    json.Name = name

    fi := bson.D{{"Name", name}}

    err = uc.session.DB(DB_NAME).C(DB_COLLECTION).Find(fi).All(json)


    if err == nil {

        c.Writer.Header().Set("Content-Type", "application/json")

        c.JSON(201, &json)

    } else {

        c.JSON(500, gin.H{"result": "An error occured"})

    }


}


临摹微笑
浏览 109回答 1
1回答

倚天杖

您应该将数组 ( var json []models.User) 传递给All(&json)函数,但您传递的是一项 ( var json models.User)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go