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

$allElementsTrue

Novo da versão 4.0

O $allElementsTrue operador é usado para verificar se todos os elementos em uma matriz são avaliados como um valor verdadeiro.

Parâmetros

  • expression: uma expressão que é avaliada como uma matriz.

Exemplo (MongoDB Shell)

O exemplo a seguir demonstra o uso de $allElementsTrue para verificar se todos os elementos em uma matriz são verdadeiros.

Crie documentos de amostra

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

Exemplo de consulta

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

Saída

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

Neste exemplo, a consulta verifica se todos os elementos na scores matriz são maiores que 0. O documento com "name": "Jane" é excluído porque a scores matriz contém um 0, que é um valor falso.

Exemplos de código

Para ver um exemplo de código para usar o $allElementsTrue comando, escolha a guia do idioma que você deseja usar:

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