示例#1
0
文件: user.go 项目: jingweno/progmob
func (u *user) Upsert(user *model.User) (*model.User, error) {
	changed, err := u.C().Upsert(Query{"id": user.ID}, user)
	if err != nil {
		return nil, err
	}

	if changed.UpsertedId == nil {
		return u.First(Query{"id": user.ID}), nil
	} else {
		user.ObjectId = changed.UpsertedId.(bson.ObjectId)
		return user, nil
	}
}
示例#2
0
文件: user.go 项目: jingweno/progmob
func (u *user) Insert(user *model.User) error {
	user.ObjectId = bson.NewObjectId()
	return u.C().Insert(user)
}