From b4d4fc666ecea727e280643e540cb68199f0eb38 Mon Sep 17 00:00:00 2001 From: Nikita Tokarchuk Date: Thu, 20 Dec 2018 01:49:33 +0100 Subject: [PATCH] ObjectId base might be empty --- mongox/base/objectid.go | 5 ++++- mongox/common.go | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mongox/base/objectid.go b/mongox/base/objectid.go index 5ee9ad7..356c540 100644 --- a/mongox/base/objectid.go +++ b/mongox/base/objectid.go @@ -1,12 +1,15 @@ package base import ( + "github.com/mainnika/mongox-go-driver/mongox" "github.com/mongodb/mongo-go-driver/bson/primitive" ) +var _ mongox.BaseObjectID = &ObjectID{} + // ObjectID is a structure with objectId as an _id field type ObjectID struct { - ID primitive.ObjectID `bson:"_id" json:"_id"` + ID primitive.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"` } // GetID returns an _id diff --git a/mongox/common.go b/mongox/common.go index 1fa4127..fa985a2 100644 --- a/mongox/common.go +++ b/mongox/common.go @@ -1,5 +1,9 @@ package mongox +import ( + "github.com/mongodb/mongo-go-driver/bson/primitive" +) + type Saver interface { Save(db *Database) error } @@ -11,3 +15,8 @@ type Deleter interface { type Loader interface { Load(db *Database, filters ...interface{}) error } + +type BaseObjectID interface { + GetID() primitive.ObjectID + SetID(id primitive.ObjectID) +}