

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á.

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

O `$exists` operador é usado para verificar se um campo existe ou não em um documento. `$exists`particularmente útil ao trabalhar com índices esparsos no Amazon DocumentDB, onde o campo indexado pode não estar presente em todos os documentos.

Para usar um índice esparso que você criou em uma consulta, é necessário usar a cláusula `$exists` nos campos que abrangem o índice. Se você omitir`$exists`, o Amazon DocumentDB não usará o índice esparso para a consulta.

**Parâmetros**
+ `field`: o nome do campo para verificar a existência.
+ `value`: um valor booleano (`true`ou`false`) que especifica se o campo deve existir (`true`) ou não existir (`false`) nos documentos correspondentes.

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

O exemplo a seguir demonstra o uso do `$exists` operador com um índice esparso no `special_diets` campo da coleção. `food`

**Crie documentos de amostra**

```
db.food.insertMany([
  { _id: 1, name: "Apple", special_diets: ["vegetarian", "gluten-free"] },
  { _id: 2, name: "Broccoli" },
  { _id: 3, name: "Chicken", special_diets: ["dairy-free"] }
]);
```

**Crie um índice esparso no campo `special\$1diets`**

```
db.food.createIndex({ "special_diets": 1 }, { sparse: true, name: "special_diets_sparse_asc" });
```

**Exemplo de consulta**

```
db.food.find({ "special_diets": { $exists: true } });
```

**Saída**

```
[
  { "_id" : 1, "name" : "Apple", "special_diets" : [ "vegetarian", "gluten-free" ] },
  { "_id" : 3, "name" : "Chicken", "special_diets" : [ "dairy-free" ] }
]
```

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

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

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

```
const { MongoClient } = 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('food');

  const result = await collection.find({ "special_diets": { $exists: true } }).toArray();
  console.log(result);

  await client.close();
}

main();
```

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

```
import pymongo

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

result = list(collection.find({"special_diets": {"$exists": True}}))
print(result)

client.close()
```

------