$exists - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$exists

L'$existsoperatore viene utilizzato per verificare se un campo esiste o meno in un documento. $existsparticolarmente utile quando si lavora con indici sparsi in Amazon DocumentDB, dove il campo indicizzato potrebbe non essere presente in tutti i documenti.

Per utilizzare un indice Sparse creato in una query, devi utilizzare la clausola $exists nei campi che coprono l'indice. Se ometti$exists, Amazon DocumentDB non utilizzerà l'indice sparso per la query.

Parametri

  • field: il nome del campo di cui verificare l'esistenza.

  • value: Un valore booleano (trueofalse) che specifica se il campo deve esistere (true) o non esistere (false) nei documenti corrispondenti.

Esempio (MongoDB Shell)

L'esempio seguente dimostra l'uso dell'$existsoperatore con un indice sparso sul special_diets campo della raccolta. food

Crea documenti di esempio

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

Crea un indice sparso nel campo `special_diets`

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

Esempio di query

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

Output

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

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $exists comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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