Dela via


$bitsAllSet som bitvis frågeoperator

GÄLLER FÖR: MongoDB vCore

Operatorn $bitsAllSet används för att matcha dokument där alla angivna bitpositioner anges (d.s. 1). Den här operatorn är användbar för att utföra bitvis åtgärder på fält som lagrar heltalsvärden. Den kan användas i scenarier där du behöver filtrera dokument baserat på specifika bitar som anges i ett heltalsfält.

Syntax

{
  <field>: { $bitsAllSet: <bitmask> }
}
  • <field>: Fältet i dokumentet där bitvis-åtgärden ska utföras.
  • <bitmask>: En bitmask som anger vilka bitar som måste anges i fältets värde.

Exempel

Överväg en samling med namnet stores som innehåller dokument med olika fält. Om du vill hitta dokument där fältet storeId har specifika bitar angivna kan du använda operatorn $bitsAllSet .

Exempel 1: Hitta butiker med specifika bitar i storeId

db.stores.find({
  "store.storeId": { $bitsAllSet: 0b00000011 }
})

Den här frågan returnerar dokument där fältet storeId har både den första och andra bituppsättningen.

Exempel 2: Hitta butiker med specifika bitar i totalStaff.fullTime

db.stores.find({
  "store.staff.totalStaff.fullTime": { $bitsAllSet: 0b00001111 }
})

Den här frågan returnerar dokument där fältet fullTime i totalStaff har de första 4 bitarna inställda.