From 7e78eea4211093b0bd1bd8a14b9a7c9bb55932c7 Mon Sep 17 00:00:00 2001 From: Danis Kirasirov <dbgbbu@gmail.com> Date: Tue, 23 Jan 2024 13:17:46 +0300 Subject: [PATCH] refactor --- pkg/expr/mongo.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/expr/mongo.go b/pkg/expr/mongo.go index 08a33e0f..9a8a7cd2 100644 --- a/pkg/expr/mongo.go +++ b/pkg/expr/mongo.go @@ -209,11 +209,11 @@ func (c *compiler) UnaryNode(node *ast.UnaryNode) interface{} { switch node.Operator { case "!", "not": nodeIn, ok := node.Node.(*ast.BinaryNode) - if !ok || nodeIn.Operator != "in" { - return bson.M{"$not": c.compile(node.Node)} + if ok && nodeIn.Operator == "in" { + return bson.M{c.identifier(nodeIn.Left): bson.M{"$nin": c.eval(nodeIn.Right)}} } - - return bson.M{c.identifier(nodeIn.Left): bson.M{"$nin": c.eval(nodeIn.Right)}} + + return bson.M{"$not": c.compile(node.Node)} default: panic(fmt.Sprintf("unknown operator (%v)", node.Operator)) } -- GitLab