$allElementsTrue - 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à.

$allElementsTrue

Novità dalla versione 4.0

L'$allElementsTrueoperatore viene utilizzato per verificare se tutti gli elementi di un array restituiscono un valore vero.

Parametri

  • expression: espressione che restituisce un array.

Esempio (MongoDB Shell)

L'esempio seguente dimostra l'utilizzo di $allElementsTrue per verificare se tutti gli elementi di un array sono veri.

Crea documenti di esempio

db.collection.insert([ { "name": "John", "scores": [100, 90, 80] }, { "name": "Jane", "scores": [80, 85, 0] }, { "name": "Bob", "scores": [90, 95, null] } ])

Esempio di interrogazione

db.collection.find({ "scores": { "$allElementsTrue": [{ "$gt": 0 }] } })

Output

[ { "_id" : ObjectId("..."), "name" : "John", "scores" : [ 100, 90, 80 ] }, { "_id" : ObjectId("..."), "name" : "Bob", "scores" : [ 90, 95, null ] } ]

In questo esempio, la query verifica se tutti gli elementi dell'scoresarray sono maggiori di 0. Il documento con "name": "Jane" è escluso perché l'scoresarray contiene uno 0, che è un valore falso.

Esempi di codice

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

Node.js
const { MongoClient } = require('mongodb'); async function example() { 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('collection'); const result = await collection.find({ "scores": { "$allElementsTrue": [{ "$gt": 0 }] } }).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['collection'] result = list(collection.find({ "scores": {"$allElementsTrue": [{"$gt": 0}]} })) print(result) client.close() example()