View a markdown version of this page

$es un número - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$es un número

Nuevo desde la versión 8.0.1.

El $isNumber operador de Amazon DocumentDB devuelve un booleano que indica si una expresión determinada se resuelve en un tipo numérico (entero, decimal, doble, largo). Tenga en cuenta que las matrices no se consideran numéricas, incluso si todos los elementos de la matriz son números. Por ejemplo, si $isNumber se aplica a los retornos de valores[1, 2, 3]. false

Parámetros

  • expression: cualquier expresión para comprobar si se resuelve en un tipo numérico.

Ejemplo (MongoDB Shell)

El siguiente ejemplo muestra cómo usar el $isNumber operador para comprobar si los valores de los campos son numéricos.

Cree documentos de muestra

db.data.insertMany([ {_id: 1, value: 42}, {_id: 2, value: "hello"}, {_id: 3, value: 3.14}, {_id: 4, value: null} ]);

Ejemplo de consulta

db.data.aggregate([ { $project: { isNum: { $isNumber: "$value" } } } ]);

Salida

[ {_id: 1, isNum: true}, {_id: 2, isNum: false}, {_id: 3, isNum: true}, {_id: 4, isNum: false} ]

Ejemplos de código

Para ver un ejemplo de código sobre el uso del $isNumber operador, elige la pestaña del idioma que quieres usar:

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = new MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); try { await client.connect(); const db = client.db('test'); const collection = db.collection('data'); const result = await collection.aggregate([ { $project: { isNum: { $isNumber: "$value" } } } ]).toArray(); console.log(result); } finally { 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') try: db = client['test'] collection = db['data'] result = list(collection.aggregate([ {'$project': {'isNum': {'$isNumber': '$value'}}} ])) print(result) finally: client.close() example()