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) +}