mgo自定义自增id
2018-12-21 本文已影响45人
funcx
// id从1开始递增
func GenId(db *mgo.Database, forCName string) (int64, error) {
IDInt64 := struct {
Value int64 `bson:"max_id"`
}{Value: 1}
_, err := db.C("gen_id").Find(M{"_id": forCName}).Apply(mgo.Change{Update: M{"$inc": IDInt64}, Upsert: true, ReturnNew: true}, &IDInt64)
return IDInt64.Value, err
}