golang之mgo自增id

import (
  "fmt"
  "gopkg.in/mgo.v2"
  "gopkg.in/mgo.v2/bson"
  "../../funcs"
)

// id從1開始遞增
func GenId(db *mgo.Database) (int64, error) {
  IDInt64 := struct {
     Value int64 `bson:"max_id"`
  }{Value: 1}
  _, err := db.C("gen_id").Find(bson.M{}).Apply(mgo.Change{Update: bson.M{"$inc": IDInt64}, Upsert: true, ReturnNew: true}, &IDInt64)
  return IDInt64.Value, err
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章