You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
mongox-go-driver/mongox/common.go

38 lines
922 B

package mongox
import (
"go.mongodb.org/mongo-driver/bson/primitive"
)
// Saver is an interface for documents that can be saved
type Saver interface {
Save(db *Database) error
}
// Deleter is an interface for documents that can be deleted
type Deleter interface {
Delete(db *Database) error
}
// Loader is an interface for documents that can be loaded
type Loader interface {
Load(db *Database, filters ...interface{}) error
}
// BaseObjectID is an interface for documents that have objectId type for the _id field
type BaseObjectID interface {
GetID() primitive.ObjectID
SetID(id primitive.ObjectID)
}
// BaseString is an interface for documents that have string type for the _id field
type BaseString interface {
GetID() string
SetID(id string)
}
// BaseObject is an interface for documents that have object type for the _id field
type BaseObject interface {
GetID() primitive.D
SetID(id primitive.D)
}