

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# \$1not
<a name="not"></a>

O `$not` operador é usado para negar o resultado de uma determinada expressão. Ele permite que você selecione documentos nos quais a condição especificada não corresponda.

A versão 2.0 do Planner adicionou suporte de índice para `$not {eq}` e. `$not {in}`

**Parâmetros**
+ `expression`: A expressão a ser negada.

## Exemplo (MongoDB Shell)
<a name="not-examples"></a>

O exemplo a seguir demonstra como usar o `$not` operador para encontrar documentos em que o `status` campo não é igual a “ativo”.

**Crie documentos de amostra**

```
db.users.insertMany([
  { name: "John", status: "active" },
  { name: "Jane", status: "inactive" },
  { name: "Bob", status: "pending" },
  { name: "Alice", status: "active" }
]);
```

**Exemplo de consulta**

```
db.users.find({ status: { $not: { $eq: "active" } } });
```

**Saída**

```
[
  {
    _id: ObjectId('...'),
    name: 'Jane',
    status: 'inactive'
  },
  {
    _id: ObjectId('...'),
    name: 'Bob',
    status: 'pending'
  }
]
```

## Exemplos de código
<a name="not-code"></a>

Para ver um exemplo de código para usar o `$not` comando, escolha a guia do idioma que você deseja usar:

------
#### [ Node.js ]

```
const { MongoClient, Filters } = require('mongodb');

async function main() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const collection = db.collection('users');

  const result = await collection.find({
    status: { $not: { $eq: "active" } }
  }).toArray();

  console.log(result);

  await client.close();
}

main();
```

------
#### [ Python ]

```
from pymongo import MongoClient
from bson.son import SON

client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
db = client['test']
collection = db['users']

result = collection.find({
    "status": {"$not": {"$eq": "active"}}
})

for doc in result:
    print(doc)

client.close()
```

------