From 84a36c49cb49c5e6d5ba2c48b5067c9b1bfa3817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net> Date: Mon, 5 May 2014 14:32:14 -0500 Subject: [PATCH] Using Upsert() instead of Insert() and Update(). Closing #13. --- mongo/collection.go | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/mongo/collection.go b/mongo/collection.go index f84ebcfd..c8d73980 100644 --- a/mongo/collection.go +++ b/mongo/collection.go @@ -199,15 +199,9 @@ func (self *Collection) Append(item interface{}) (interface{}, error) { var err error var id bson.ObjectId - // Let's create an empty item to allocate an ID. id = bson.NewObjectId() - if err = self.collection.Insert(bson.M{"_id": id}); err != nil { - return nil, err - } - - // Now append data the user wants to append. - if err = self.collection.Update(bson.M{"_id": id}, item); err != nil { + if _, err = self.collection.Upsert(bson.M{"_id": id}, item); err != nil { return nil, err } -- GitLab