$not operator in MongoDB


Before explaining $not operator I want to remind you about NOT IN in SQL Server. In T-SQL query we used NOT operator like below.
<SELECT QUERY> <WHERE ID> NOT IN (<a sub query>)
Same as that $not operator behaves in MongoDB.

$not performs a logical NOT operation on the specified <operator-expression> and selects the documents that do not match the <operator-expression>. This includes documents that do not contain the field.

Syntax:


Syntax: { field: { $not: { <operator-expression> } } }


Example: Suppose we have a collection of books inventory like below.


{ "_id" : 1, "item" : "item1", "qty" : 1, "Price" : 500 }
{ "_id" : 2, "item" : "item1", "qty" : 2, "Price" : 200 }
{ "_id" : 3, "item" : "item1", "qty" : 4, "Price" : 300 }
{ "_id" : 4, "item" : "item1", "qty" : 8, "Price" : 700 }
{ "_id" : 5, "item" : "item1", "qty" : 2, "Price" : 500 }


See the following query


db.Order.find( { qty: { $not: { $gte: 4 } } } )


Result:


{ "_id" : 1, "item" : "item1", "qty" : 1, "Price" : 500 }
{ "_id" : 2, "item" : "item1", "qty" : 2, "Price" : 200 }
{ "_id" : 5, "item" : "item1", "qty" : 2, "Price" : 500 }


Note:
  • The operation of the $not operator is consistent with the behavior of other operators but may yield unexpected results with some data types like arrays.
  • The $not operator does not support operations with the $regex operator. Instead use // or in your driver interfaces, use your language’s regular expression capability to create regular expression objects.


For more details, you can follow this link https://docs.mongodb.com/manual/reference/operator/query/not/

No comments:

Post a Comment

Please do not enter any spam link in the comment box.

Related Posts

What is the Use of isNaN Function in JavaScript? A Comprehensive Explanation for Effective Input Validation

In the world of JavaScript, input validation is a critical aspect of ensuring that user-provided data is processed correctly. One indispensa...