diff --git a/pkg/expr/mongo.go b/pkg/expr/mongo.go index de14bb57a6e7609b6f770d8318abbdc1ca02694b..bd57a30d727984091ddea0deb2135cfb8b64de8b 100644 --- a/pkg/expr/mongo.go +++ b/pkg/expr/mongo.go @@ -672,19 +672,19 @@ func (c *compiler) handleLenNode(node *ast.BinaryNode) (result bson.M, ok bool) } switch node.Operator { - case "==": // + + case "==": if length == 0 { return bson.M{c.identifier(lenNode.Arguments[0]): bson.M{"$eq": bson.A{}}}, true } return bson.M{c.identifier(lenNode.Arguments[0]): bson.M{"$size": length}}, true - case "!=": // + + case "!=": if length == 0 { return bson.M{c.identifier(lenNode.Arguments[0]): bson.M{"$exists": true, "$type": "array", "$ne": bson.A{}}}, true } return bson.M{c.identifier(lenNode.Arguments[0]): bson.M{"$not": bson.M{"$size": length}}}, true - case ">": // + + case ">": if length == 0 { return bson.M{c.identifier(lenNode.Arguments[0]): bson.M{"$exists": true, "$type": "array", "$ne": bson.A{}}}, true }