package builder

type MongoOperation string

const (
	// Comparison operators
	Gt     MongoOperation = "$gt"
	Lt     MongoOperation = "$lt"
	Gte    MongoOperation = "$gte"
	Lte    MongoOperation = "$lte"
	Eq     MongoOperation = "$eq"
	Ne     MongoOperation = "$ne"
	In     MongoOperation = "$in"
	NotIn  MongoOperation = "$nin"
	Exists MongoOperation = "$exists"

	// Logical operators
	And MongoOperation = "$and"
	Or  MongoOperation = "$or"
	Not MongoOperation = "$not"

	AddToSet    MongoOperation = "$addToSet"
	Avg         MongoOperation = "$avg"
	Pull        MongoOperation = "$pull"
	Count       MongoOperation = "$count"
	Cond        MongoOperation = "$cond"
	Each        MongoOperation = "$each"
	Expr        MongoOperation = "$expr"
	First       MongoOperation = "$first"
	Group       MongoOperation = "$group"
	IfNull      MongoOperation = "$ifNull"
	Limit       MongoOperation = "$limit"
	Literal     MongoOperation = "$literal"
	Lookup      MongoOperation = "$lookup"
	Match       MongoOperation = "$match"
	Max         MongoOperation = "$max"
	Min         MongoOperation = "$min"
	Push        MongoOperation = "$push"
	Project     MongoOperation = "$project"
	Set         MongoOperation = "$set"
	Inc         MongoOperation = "$inc"
	Unset       MongoOperation = "$unset"
	Rename      MongoOperation = "$rename"
	ReplaceRoot MongoOperation = "$replaceRoot"
	SetUnion    MongoOperation = "$setUnion"
	Size        MongoOperation = "$size"
	Sort        MongoOperation = "$sort"
	Skip        MongoOperation = "$skip"
	Sum         MongoOperation = "$sum"
	Type        MongoOperation = "$type"
	Unwind      MongoOperation = "$unwind"

	Add      MongoOperation = "$add"
	Subtract MongoOperation = "$subtract"
	Multiply MongoOperation = "$multiply"
	Divide   MongoOperation = "$divide"
)
