$ à Bool - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$ à Bool

L'$toBoolopérateur dans Amazon DocumentDB convertit une expression en valeur booléenne.

Paramètres

  • expression: expression à convertir en valeur booléenne.

Remarque : Toute chaîne est convertie entrue.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$toBoolopérateur pour normaliser les valeurs d'état des appareils à partir de différents types de données.

Création d'exemples de documents

db.deviceStates.insertMany([ { _id: 1, deviceId: "sensor-001", status: true }, { _id: 2, deviceId: "camera-002", status: 1 }, { _id: 3, deviceId: "thermostat-003", status: "active" }, { _id: 4, deviceId: "doorlock-004", status: 0 } ]);

Exemple de requête

db.deviceStates.aggregate([ { $project: { _id: 1, deviceId: 1, isActive: { $toBool: "$status" } } } ]);

Sortie

[ { "_id": 1, "deviceId": "sensor-001", "isActive": true }, { "_id": 2, "deviceId": "camera-002", "isActive": true }, { "_id": 3, "deviceId": "thermostat-003", "isActive": true }, { "_id": 4, "deviceId": "doorlock-004", "isActive": false } ]

Exemples de code

Pour afficher un exemple de code d'utilisation de la $toBool commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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('deviceStates'); const result = await collection.aggregate([ { $project: { _id: 1, deviceId: 1, isActive: { $toBool: '$status' } } } ]).toArray(); console.log(result); await client.close(); } main();
Python
from pymongo import MongoClient def main(): 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['deviceStates'] result = list(collection.aggregate([ { '$project': { '_id': 1, 'deviceId': 1, 'isActive': { '$toBool': '$status' } } } ])) print(result) client.close() if __name__ == '__main__': main()