Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El $toBool operador convierte una expresión en un valor booleano. Los valores booleanos se devuelven tal como está sin una conversión. Los valores numéricos distintos de cero se convierten en true mientras que los valores Decimal, Long, Double o Int de 0 se convierten en false. Todos los demás tipos de datos se convierten en true.
Syntax
{
$toBool: < expression >
}
Parámetros
| Parámetro | Description |
|---|---|
expression |
Valor especificado que se va a convertir en un valor booleano |
Examples
Considere este documento de ejemplo de la colección de tiendas.
{
"_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
"name": "First Up Consultants | Beverage Shop - Satterfieldmouth",
"location": {
"lat": -89.2384,
"lon": -46.4012
},
"staff": {
"totalStaff": {
"fullTime": 8,
"partTime": 20
}
},
"sales": {
"totalSales": 75670,
"salesByCategory": [
{
"categoryName": "Wine Accessories",
"totalSales": 34440
},
{
"categoryName": "Bitters",
"totalSales": 39496
},
{
"categoryName": "Rum",
"totalSales": 1734
}
]
},
"promotionEvents": [
{
"eventName": "Unbeatable Bargain Bash",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 6,
"Day": 23
},
"endDate": {
"Year": 2024,
"Month": 7,
"Day": 2
}
},
"discounts": [
{
"categoryName": "Whiskey",
"discountPercentage": 7
},
{
"categoryName": "Bitters",
"discountPercentage": 15
},
{
"categoryName": "Brandy",
"discountPercentage": 8
},
{
"categoryName": "Sports Drinks",
"discountPercentage": 22
},
{
"categoryName": "Vodka",
"discountPercentage": 19
}
]
},
{
"eventName": "Steal of a Deal Days",
"promotionalDates": {
"startDate": {
"Year": 2024,
"Month": 9,
"Day": 21
},
"endDate": {
"Year": 2024,
"Month": 9,
"Day": 29
}
},
"discounts": [
{
"categoryName": "Organic Wine",
"discountPercentage": 19
},
{
"categoryName": "White Wine",
"discountPercentage": 20
},
{
"categoryName": "Sparkling Wine",
"discountPercentage": 19
},
{
"categoryName": "Whiskey",
"discountPercentage": 17
},
{
"categoryName": "Vodka",
"discountPercentage": 23
}
]
}
]
}
Ejemplo 1: Convertir un valor Double en un valor booleano
Para convertir el valor del campo de latitud de un valor double a un valor booleano, ejecute una consulta mediante el operador $toBool en el campo para realizar la conversión. Los valores numéricos positivos se convierten en true.
db.stores.aggregate([{
$match: {
_id: "b0107631-9370-4acd-aafa-8ac3511e623d"
}
}, {
$project: {
originalLatitude: "$location.lat",
latitudeAsBool: {
$toBool: "$location.lat"
}
}
}])
Esta consulta devuelve el siguiente resultado:
[
{
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
"originalLatitude": 72.8377,
"latitudeAsBool": true
}
]
Ejemplo 2: Convertir un valor string en un valor booleano
Para convertir el valor del campo _id de una cadena a un valor booleano, ejecute una consulta mediante el valor de $toBool para realizar la conversión. Los valores de cadena se convierten en true.
db.stores.aggregate([{
$match: {
_id: "b0107631-9370-4acd-aafa-8ac3511e623d"
}
}, {
$project: {
originalId: "$_id",
idAsBool: {
$toBool: "$_id"
}
}
}])
Esta consulta devuelve el siguiente resultado:
[
{
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
"originalId": "b0107631-9370-4acd-aafa-8ac3511e623d",
"idAsBool": true
}
]
Ejemplo 3: Convertir un valor Int en un valor booleano
Para convertir el valor del campo sales.totalSales de entero a booleano, ejecute una consulta mediante el operador $toBool para realizar la conversión. Los valores numéricos positivos se convierten en true.
db.stores.aggregate([{
$match: {
_id: "b0107631-9370-4acd-aafa-8ac3511e623d"
}
}, {
$project: {
originalTotalSales: "$sales.totalSales",
totalSalesAsBool: {
$toBool: "$sales.totalSales"
}
}
}])
Esta consulta devuelve el siguiente resultado:
[
{
"_id": "b0107631-9370-4acd-aafa-8ac3511e623d",
"originalTotalSales": 9366,
"totalSalesAsBool": true
}
]
En esta tabla se delimita el comportamiento esperado del operador $toBool en función del tipo de datos de la expresión de entrada.
| Tipo de valor | Behavior/Output |
|---|---|
| Valor booleano true | Salida:> true |
| Valor booleano falso | Salida:> false |
| Cualquier valor Double, Int, Long o Decimal | Salida:> true |
| Cualquier valor ISODate | Salida:> true |
| Valor NULL | Salida:> nulo |
Contenido relacionado
- Revise las opciones para migrar de MongoDB a Azure DocumentDB.
- Obtenga más información sobre la compatibilidad de características con MongoDB.