func (c *CreateViewOptions) SetCollation(collation *Collation) *CreateViewOptions {
	c.Collation = collation
	return c
}
SetCollation sets the value for the Collation field.
package options
type DefaultIndexOptions struct {
	StorageEngine interface{}
}
func DefaultIndex() *DefaultIndexOptions {
	return &DefaultIndexOptions{}
}
func (d *DefaultIndexOptions) SetStorageEngine(storageEngine interface{}) *DefaultIndexOptions {
	d.StorageEngine = storageEngine
	return d
}
type CreateCollectionOptions struct {
	Capped *bool
	Collation *Collation
	DefaultIndexOptions *DefaultIndexOptions
	MaxDocuments *int64
	SizeInBytes *int64
	StorageEngine interface{}
	ValidationAction *string
	ValidationLevel *string
	Validator interface{}
}
func CreateCollection() *CreateCollectionOptions {
	return &CreateCollectionOptions{}
}
func (c *CreateCollectionOptions) SetCapped(capped bool) *CreateCollectionOptions {
	c.Capped = &capped
	return c
}
func (c *CreateCollectionOptions) SetCollation(collation *Collation) *CreateCollectionOptions {
	c.Collation = collation
	return c
}
func (c *CreateCollectionOptions) SetDefaultIndexOptions(opts *DefaultIndexOptions) *CreateCollectionOptions {
	c.DefaultIndexOptions = opts
	return c
}
func (c *CreateCollectionOptions) SetMaxDocuments(max int64) *CreateCollectionOptions {
	c.MaxDocuments = &max
	return c
}
func (c *CreateCollectionOptions) SetSizeInBytes(size int64) *CreateCollectionOptions {
	c.SizeInBytes = &size
	return c
}
func (c *CreateCollectionOptions) SetStorageEngine(storageEngine interface{}) *CreateCollectionOptions {
	c.StorageEngine = &storageEngine
	return c
}
func (c *CreateCollectionOptions) SetValidationAction(action string) *CreateCollectionOptions {
	c.ValidationAction = &action
	return c
}
func (c *CreateCollectionOptions) SetValidationLevel(level string) *CreateCollectionOptions {
	c.ValidationLevel = &level
	return c
}
func (c *CreateCollectionOptions) SetValidator(validator interface{}) *CreateCollectionOptions {
	c.Validator = validator
	return c
}
func MergeCreateCollectionOptions(opts ...*CreateCollectionOptions) *CreateCollectionOptions {
	cc := CreateCollection()
	for _, opt := range opts {
		if opt == nil {
			continue
		}
		if opt.Capped != nil {
			cc.Capped = opt.Capped
		}
		if opt.Collation != nil {
			cc.Collation = opt.Collation
		}
		if opt.DefaultIndexOptions != nil {
			cc.DefaultIndexOptions = opt.DefaultIndexOptions
		}
		if opt.MaxDocuments != nil {
			cc.MaxDocuments = opt.MaxDocuments
		}
		if opt.SizeInBytes != nil {
			cc.SizeInBytes = opt.SizeInBytes
		}
		if opt.StorageEngine != nil {
			cc.StorageEngine = opt.StorageEngine
		}
		if opt.ValidationAction != nil {
			cc.ValidationAction = opt.ValidationAction
		}
		if opt.ValidationLevel != nil {
			cc.ValidationLevel = opt.ValidationLevel
		}
		if opt.Validator != nil {
			cc.Validator = opt.Validator
		}
	}
	return cc
}
type CreateViewOptions struct {
	Collation *Collation
}
func CreateView() *CreateViewOptions {
	return &CreateViewOptions{}
}