dbs and
This commit is contained in:
		
							
								
								
									
										43
									
								
								dbs/dbs.go
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								dbs/dbs.go
									
									
									
									
									
								
							@@ -35,26 +35,49 @@ func (m Operator) String() string {
 | 
			
		||||
	return str[m]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m Operator) ToMongoOperator() string {
 | 
			
		||||
func (m Operator) ToMongoEOperator(k string, value interface{}) bson.E {
 | 
			
		||||
	switch m {
 | 
			
		||||
	case LIKE:
 | 
			
		||||
		return "$regex"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$regex": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case EXISTS:
 | 
			
		||||
		return "$exists"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$exists": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case IN:
 | 
			
		||||
		return "$in"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$in": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case GTE:
 | 
			
		||||
		return "$gte"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$gte": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case GT:
 | 
			
		||||
		return "$gt"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$gt": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case LTE:
 | 
			
		||||
		return "$lte"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$lte": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case LT:
 | 
			
		||||
		return "$lt"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$lt": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case EQUAL:
 | 
			
		||||
		return "$match"
 | 
			
		||||
		return bson.E{Key: k, Value: value}
 | 
			
		||||
	default:
 | 
			
		||||
		return "$regex"
 | 
			
		||||
		return bson.E{Key: k, Value: bson.M{"$regex": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m Operator) ToMongoOperator(k string, value interface{}) bson.M {
 | 
			
		||||
	switch m {
 | 
			
		||||
	case LIKE:
 | 
			
		||||
		return bson.M{k: bson.M{"$regex": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case EXISTS:
 | 
			
		||||
		return bson.M{k: bson.M{"$exists": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case IN:
 | 
			
		||||
		return bson.M{k: bson.M{"$in": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case GTE:
 | 
			
		||||
		return bson.M{k: bson.M{"$gte": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case GT:
 | 
			
		||||
		return bson.M{k: bson.M{"$gt": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case LTE:
 | 
			
		||||
		return bson.M{k: bson.M{"$lte": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case LT:
 | 
			
		||||
		return bson.M{k: bson.M{"$lt": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	case EQUAL:
 | 
			
		||||
		return bson.M{k: value}
 | 
			
		||||
	default:
 | 
			
		||||
		return bson.M{k: bson.M{"$regex": ToValueOperator(StringToOperator(m.String()), value)}}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user