小编kue*_*kue的帖子

Mongo-go-driver从插入结果中获取objectID

InsertOne用于创建新文档之后,当我返回结果时,我得到的是数组而不是数字ObjectID.在DB中,id生成正常.

type User struct {
  ID       string
  Email    string
  Username string
  Password string
}

var db = ...

// UserStore creates user
func UserStore(c echo.Context) (err error) {

  coll := db.Collection("users")

  u := new(User)
  if err = c.Bind(u); err != nil {
    return c.JSON(http.StatusInternalServerError, err)
  }

  result, err := coll.InsertOne(
    context.Background(),
    bson.NewDocument(
        bson.EC.String("email", u.Email),
        bson.EC.String("username", u.Username),
        bson.EC.String("password", u.Password),
    ),
  )
  if err != nil {
    return c.JSON(http.StatusInternalServerError, err)
  }

  return c.JSON(http.StatusCreated, result)
}
Run Code Online (Sandbox Code Playgroud)

这会返回类似于InsertedID: [90, …

json http go mongodb mongo-go

6
推荐指数
1
解决办法
5274
查看次数

标签 统计

go ×1

http ×1

json ×1

mongo-go ×1

mongodb ×1