

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

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

El `$exists` operador se utiliza para comprobar si un campo existe en un documento o no. `$exists`resulta especialmente útil cuando se trabaja con índices dispersos en Amazon DocumentDB, donde el campo indexado puede no estar presente en todos los documentos.

Para utilizar un índice disperso que haya creado en una consulta, debe utilizar la cláusula `$exists` en los campos incluidos en el índice. Si lo omite`$exists`, Amazon DocumentDB no utilizará el índice disperso para la consulta.

**Parámetros**
+ `field`: el nombre del campo para comprobar su existencia.
+ `value`: un valor booleano (`true`o`false`) que especifica si el campo debe existir (`true`) o no existir (`false`) en los documentos coincidentes.

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

El siguiente ejemplo demuestra el uso del `$exists` operador con un índice disperso en el `special_diets` campo de la colección. `food`

**Cree documentos de muestra**

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

**Cree un índice disperso en el campo `special\$1diets`**

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

**Ejemplo de consulta**

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

**Salida**

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

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

Para ver un ejemplo de código para usar el `$exists` comando, elija la pestaña del idioma que desee 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()
```

------