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.
Este operador se usa para buscar coincidencias con documentos en los que cualquiera de las posiciones de bits especificadas en una máscara de bits está clara (es decir, 0). Resulta útil para consultar documentos con datos binarios o marcas almacenadas como enteros. Este operador permite realizar consultas eficaces basadas en patrones de bits específicos.
Syntax
{
<field>: { $bitsAnyClear: <bitmask> }
}
Parámetros
| Parámetro | Description |
|---|---|
field |
Campo del documento que se va a consultar. |
<bitmask> |
Máscara de bits donde cada posición de bits representa una posición para comprobar si está claro (0). |
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
}
]
}
]
}
El storeFeatures campo es un entero de máscara de bits que representa diversas funcionalidades de almacén. Cada bit corresponde a una característica:
| bit | Importancia | Característica |
|---|---|---|
| 0 | 1 | In-Store Recogida |
| 1 | 2 | Aparcamiento |
| 2 | 4 | Acceso para silla de ruedas |
| 3 | 8 | Abrir 24 horas |
| 4 | 16 | Pet-Friendly |
| 5 | 32 | Wi-Fi gratis |
| 6 | 64 | Cuartos de baño |
| 7 | 128 | Entrega doméstica |
Ejemplo 1: Buscar tiendas que no tengan Wi-Fi o recogida en la tienda
Esta consulta recupera almacenes que no tienen Wi-Fi O recogida en el almacén (bits 0 y 5)
db.stores.find({
storeFeatures: {
$bitsAnyClear: [0, 5]
}
}, {
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Equivalente:
db.stores.find({
storeFeatures: {
$bitsAnySet: 33
}
}, // 1 + 32
{
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Los cinco primeros resultados devueltos por esta consulta son:
[
{
"_id": "a715ab0f-4c6e-4e9d-a812-f2fab11ce0b6",
"name": "Lakeshore Retail | Holiday Supply Hub - Marvinfort",
"storeFeatures": 38
},
{
"_id": "7e53ca0f-6e24-4177-966c-fe62a11e9af5",
"name": "Contoso, Ltd. | Office Supply Deals - South Shana",
"storeFeatures": 86
},
{
"_id": "44fdb9b9-df83-4492-8f71-b6ef648aa312",
"name": "Fourth Coffee | Storage Solution Gallery - Port Camilla",
"storeFeatures": 222
},
{
"_id": "e6410bb3-843d-4fa6-8c70-7472925f6d0a",
"name": "Relecloud | Toy Collection - North Jaylan",
"storeFeatures": 108
},
{
"_id": "9024d615-eed0-429a-a098-6640207cc2b6",
"name": "Adatum Corporation | Paper Product Mart - Lake Coralie",
"storeFeatures": 204
}
]
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.