$exists - Amazon DocumentDB

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

$exists

O $exists operador é usado para verificar se um campo existe ou não em um documento. $existsparticularmente ú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 (trueoufalse) que especifica se o campo deve existir (true) ou não existir (false) nos documentos correspondentes.

Exemplo (MongoDB Shell)

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

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

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