$allElementsTrue - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$allElementsTrue

Neu ab Version 4.0

Der $allElementsTrue Operator wird verwendet, um zu überprüfen, ob alle Elemente in einem Array einen wahren Wert ergeben.

Parameter

  • expression: Ein Ausdruck, der zu einem Array ausgewertet wird.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt die Verwendung von$allElementsTrue, um zu überprüfen, ob alle Elemente in einem Array wahr sind.

Erstellen Sie Beispieldokumente

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

Beispiel für eine Abfrage

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

Ausgabe

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

In diesem Beispiel prüft die Abfrage, ob alle Elemente im scores Array größer als 0 sind. Das Dokument mit "name": "Jane" wird ausgeschlossen, weil das scores Array eine 0 enthält, was ein falscher Wert ist.

Codebeispiele

Um ein Codebeispiel für die Verwendung des $allElementsTrue Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

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