Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo operatore viene usato per selezionare i documenti in cui una delle posizioni di bit specificate è impostata su 1. È utile per eseguire query sui documenti con campi che archiviano valori di maschera di bit. Questo operatore può essere utile quando si usano campi che rappresentano più flag booleani in un singolo numero intero.
Sintassi
{
<field>: { $bitsAnySet: [ <bit positions> ] }
}
Parametri
| Parametro | Description |
|---|---|
field |
Campo su cui eseguire una query. |
<bit positions> |
Matrice di posizioni di bit per verificare se sono impostate 1su . |
Esempi
Si consideri questo documento di esempio dalla raccolta negozi.
{
"_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
}
]
}
]
}
Il storeFeatures campo è un numero intero maschera di bit che rappresenta varie funzionalità dell'archivio. Ogni bit corrisponde a una funzionalità:
| Pezzo | Value | Caratteristica / Funzionalità |
|---|---|---|
| 0 | 1 | In-Store ritiro |
| 1 | 2 | Parcheggio |
| 2 | 4 | Accesso alle sedie a rotelle |
| 3 | 8 | Apri 24 ore |
| 4 | 16 | Pet-Friendly |
| 5 | 32 | Wi-Fi gratuite |
| 6 | 64 | Bagni |
| 7 | 128 | Consegna a domicilio |
Esempio 1: Trovare negozi con ritiro in negozio o drive-thru
Questa query recupera gli archivi che offrono la consegna a domicilio o il Wi-Fi gratuito (bit 5 e 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)
I primi cinque risultati restituiti dalla query sono:
[
{
"_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
}
]
Contenuti correlati
- Esaminare le opzioni per la migrazione da MongoDB ad Azure DocumentDB.
- Altre informazioni sulla compatibilità delle funzionalità con MongoDB.