Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet opérateur est utilisé pour faire correspondre les documents où l’une des positions de bits spécifiées dans un masque de bits est claire (autrement dit, 0). Il est utile d’interroger des documents avec des données binaires ou des indicateurs stockés sous forme d’entiers. Cet opérateur permet une interrogation efficace basée sur des modèles de bits spécifiques.
Syntaxe
{
<field>: { $bitsAnyClear: <bitmask> }
}
Paramètres
| Paramètre | Descriptif |
|---|---|
field |
Champ du document à interroger. |
<bitmask> |
Masque de bits où chaque position de bit représente une position pour vérifier s’il est clair (0). |
Examples
Considérez cet exemple de document de la collection des magasins.
{
"_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
}
]
}
]
}
Le storeFeatures champ est un entier de masque de bits représentant différentes fonctionnalités de magasin. Chaque bit correspond à une fonctionnalité :
| bit | Valeur | Caractéristique |
|---|---|---|
| 0 | 1 | In-Store enlèvement |
| 1 | 2 | Stationnement |
| 2 | 4 | Accès en fauteuil roulant |
| 3 | 8 | Ouvrir 24 heures |
| 4 | 16 | Pet-Friendly |
| 5 | 32 | Wi-Fi gratuit |
| 6 | 64 | Toilettes |
| 7 | 128 | Livraison à domicile |
Exemple 1 : Rechercher les magasins qui n’ont pas de Wi-Fi ou de prise en magasin
Cette requête récupère les magasins qui n’ont pas Wi-Fi ou un enlèvement en magasin (bits 0 et 5)
db.stores.find({
storeFeatures: {
$bitsAnyClear: [0, 5]
}
}, {
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Équivalent:
db.stores.find({
storeFeatures: {
$bitsAnySet: 33
}
}, // 1 + 32
{
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Les cinq premiers résultats retournés par cette requête sont les suivants :
[
{
"_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
}
]
Contenu connexe
- Passez en revue les options de migration de MongoDB vers Azure DocumentDB.
- En savoir plus sur la compatibilité des fonctionnalités avec MongoDB.