$exists - Amazon DocumentDB

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.

$exists

El $exists operador se utiliza para comprobar si un campo existe en un documento o no. $existsresulta 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 (trueofalse) que especifica si el campo debe existir (true) o no existir (false) en los documentos coincidentes.

Ejemplo (MongoDB Shell)

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_diets`

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

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()