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.
Dieser Operator wird verwendet, um Dokumente auszuwählen, bei denen eine der angegebenen Bitpositionen auf 1festgelegt ist. Es ist nützlich, Dokumente mit Feldern zu abfragen, die Bitmaskenwerte speichern. Dieser Operator kann nützlich sein, wenn Sie mit Feldern arbeiten, die mehrere boolesche Flags in einer einzelnen ganzen Zahl darstellen.
Syntax
{
<field>: { $bitsAnySet: [ <bit positions> ] }
}
Die Parameter
| Parameter | Description |
|---|---|
field |
Das Feld, das abgefragt werden soll. |
<bit positions> |
Ein Array von Bitpositionen, um zu überprüfen, ob eine der Folgenden festgelegt 1ist. |
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 Stores mit Abholung im Store oder Drive-Thru
Diese Abfrage ruft Speicher ab, die entweder home delivery OR free Wi-Fi (Bits 5 und 7) anbieten.
db.stores.find({
storeFeatures: {
$bitsAnySet: [5, 7]
}
}, {
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Äquivalent:
db.stores.find({
storeFeatures: {
$bitsAnySet: 160
}
}, // 32 + 128
{
_id: 1,
name: 1,
storeFeatures: 1
}).limit(5)
Die ersten fünf Ergebnisse, die von dieser Abfrage zurückgegeben werden, sind:
[
{
"_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
}
]
Verwandte Inhalte
- Überprüfen Sie die Optionen für die Migration von MongoDB zu Azure DocumentDB.
- Weitere Informationen zur Featurekompatibilität mit MongoDB.