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