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 seleccionar documentos donde cualquiera de las posiciones de bits especificadas se establece en 1. Resulta útil consultar documentos con campos que almacenan valores de máscara de bits. Este operador puede ser útil al trabajar con campos que representan varias marcas booleanas en un único entero.
Syntax
{
<field>: { $bitsAnySet: [ <bit positions> ] }
}
Parámetros
| Parámetro | Description |
|---|---|
field |
Campo que se va a consultar. |
<bit positions> |
Matriz de posiciones de bits para comprobar si alguno está establecido en 1. |
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 tengan recogida en la tienda o unidad de transporte
Esta consulta recupera almacenes que ofrecen la entrega residencial O Wi-Fi gratis (bits 5 y 7)
db.stores.find({
storeFeatures: {
$bitsAnySet: [5, 7]
}
}, {
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Equivalente:
db.stores.find({
storeFeatures: {
$bitsAnySet: 160
}
}, // 32 + 128
{
_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": "44fdb9b9-df83-4492-8f71-b6ef648aa312",
"name": "Fourth Coffee | Storage Solution Gallery - Port Camilla",
"storeFeatures": 222
},
{
"_id": "94792a4c-4b03-466b-91f6-821c4a8b2aa4",
"name": "Fourth Coffee | Eyewear Shop - Lessiemouth",
"storeFeatures": 225
},
{
"_id": "728c068a-638c-40af-9172-8ccfa7dddb49",
"name": "Contoso, Ltd. | Book Store - Lake Myron",
"storeFeatures": 239
},
{
"_id": "e6410bb3-843d-4fa6-8c70-7472925f6d0a",
"name": "Relecloud | Toy Collection - North Jaylan",
"storeFeatures": 108
}
]
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.