Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der $bitsAllSet Operator wird verwendet, um Dokumente abzugleichen, bei denen alle angegebenen Bitpositionen festgelegt sind (d. s. 1). Dieser Operator eignet sich für bitweise Vorgänge in Feldern, die ganzzahlige Werte speichern. Sie kann in Szenarien verwendet werden, in denen Sie Dokumente basierend auf bestimmten Bits filtern müssen, die innerhalb eines ganzzahligen Felds festgelegt werden.
Syntax
{
<field>: { $bitsAllSet: <bitmask> }
}
Die Parameter
| Parameter | Description |
|---|---|
field |
Das Feld im Dokument, für das der bitweise Vorgang ausgeführt werden soll. |
<bitmask> |
Eine Bitmaske, die angibt, welche Bits im Wert des Felds festgelegt werden müssen. |
Examples
Betrachten Sie dieses Beispieldokument aus der Stores-Sammlung.
{
"_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
}
]
}
]
}
Das storeFeatures Feld ist eine Bitmaske ganzzahl, die verschiedene Speicherfunktionen darstellt. Jedes Bit entspricht einem Feature:
| Bit | Wert | Merkmal |
|---|---|---|
| 0 | 1 | In-Store Abholung |
| 1 | 2 | Parken |
| 2 | 4 | Rollstuhlzugang |
| 3 | 8 | 24 Stunden öffnen |
| 4 | 16 | Pet-Friendly |
| 5 | 32 | Kostenlose Wi-Fi |
| 6 | 64 | Ruheräume |
| 7 | 128 | Lieferung nach Hause |
Beispiel 1: Suchen von Geschäften mit Parkplätzen und Ruheräumen
Diese Abfrage ruft Speicher ab, die Parkplätze UND Ruheräume haben (Bits 1 und 6)
db.stores.find({
storeFeatures: {
$bitsAllSet: [1, 6]
}
}, {
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Äquivalent:
db.stores.find({
storeFeatures: {
$bitsAllSet: 66
}
}, {
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Die ersten fünf Ergebnisse, die von dieser Abfrage zurückgegeben werden, sind:
[
{
"_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": "728c068a-638c-40af-9172-8ccfa7dddb49",
"name": "Contoso, Ltd. | Book Store - Lake Myron",
"storeFeatures": 239
},
{
"_id": "a2b54e5c-36cd-4a73-b547-84e21d91164e",
"name": "Contoso, Ltd. | Baby Products Corner - Port Jerrold",
"storeFeatures": 126
},
{
"_id": "dda2a7d2-6984-40cc-bbea-4cbfbc06d8a3",
"name": "Contoso, Ltd. | Home Improvement Closet - Jaskolskiview",
"storeFeatures": 107
}
]
Verwandte Inhalte
- Überprüfen Sie die Optionen für die Migration von MongoDB zu Azure DocumentDB.
- Weitere Informationen zur Featurekompatibilität mit MongoDB.