Mongo DB结果接口到Golang中的结构转换

I'm receiving this error when trying to convert interface{} to struct type in golang.

interface conversion: interface {} is primitive.D, not model.ClientModel. Error in line : cm := res.(model.ClientModel)

res, err := db.FindOne(collection, filter)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(res)

    cm := res.(model.ClientModel)
    fmt.Println(cm)

You can .Decode(&foo) the SingleResult returned from FindOne().

var cm model.ClientModel
err := db.FindOne(collection, filter).Decode(&cm)
if err != nil {
    fmt.Println(err)
}
fmt.Println(cm)

See https://godoc.org/go.mongodb.org/mongo-driver/mongo#SingleResult for details.