Abfrage- und Selektionsoperatoren in MongoDB

0 Aktien
0
0
0
0

Einführung

Zu den Abfrageoperatoren in MongoDB gehören Vergleichs-, logische, elementare, Auswertungs-, geografische, Array-, bitweise und Kommentaroperatoren.

MongoDB-Vergleichsoperatoren

$eq

Der Operator $eq legt eine Gleichheitsbedingung fest. Dieser Operator findet Dokumente, bei denen der Wert eines Feldes dem angegebenen Wert entspricht.

Syntax:

{ : { $eq: } }

Beispiel:

db.books.find({ price: { $eq: 300 } })

In diesem Beispiel durchsucht die Abfrage die Sammlung „Bücher“, um alle Dokumente auszuwählen, bei denen der Wert im Feld „Preis“ 300 beträgt.

$gt

Der Operator $gt wählt Dokumente aus, in denen der Feldwert größer als der angegebene Wert ist.

Syntax:

{ field: { $gt: value } }

Beispiel:

db.books.find({ price: { $gt: 200 } })
$gte

Der Operator $gte wählt Dokumente aus, bei denen der Feldwert größer oder gleich dem angegebenen Wert ist.

Syntax:

{ field: { $gte: value } }

Beispiel:

db.books.find({ price: { $gte: 250 } })
$in

Der Operator $in wählt Dokumente aus, bei denen der Wert eines Feldes einem der Werte im angegebenen Array entspricht.

Syntax:

{ field: { $in: [, , …] } }

Beispiel:

db.books.find({ price: { $in: [100, 200] } })
$lt

Der Operator $lt wählt Dokumente aus, bei denen der Feldwert kleiner als der angegebene Wert ist.

Syntax:

{ field: { $lt: value } }

Beispiel:

db.books.find({ price: { $lt: 20 } })
$lte

Der Operator $lte wählt Dokumente aus, bei denen der Feldwert kleiner oder gleich dem angegebenen Wert ist.

Syntax:

{ field: { $lte: value } }

Beispiel:

db.books.find({ price: { $lte: 250 } })
$ne

Der Operator $ne wählt Dokumente aus, bei denen der Feldwert nicht dem angegebenen Wert entspricht.

Syntax:

{ : { $ne: } }

Beispiel:

db.books.find({ price: { $ne: 500 } })
$nin

Der Operator $nin wählt Dokumente aus, bei denen der Feldwert nicht im angegebenen Array enthalten ist oder gar nicht existiert.

Syntax:

{ field: { $nin: [, , …] } }

Beispiel:

db.books.find({ price: { $nin: [50, 150, 200] } })

MongoDB logische Operatoren

$and

Der $and-Operator fungiert als logischer UND-Operator für ein Array. Das Array muss mindestens einen Ausdruck enthalten und wählt Dokumente aus, die alle Ausdrücke im Array erfüllen.

Syntax:

{ $and: [ { }, { }, ....] }

Beispiel:

db.books.find({ $and: [ { price: { $ne: 500 } }, { price: { $exists: true } } ] })
$not

Der Operator $not fungiert als logischer NOT-Operator für den angegebenen Ausdruck und wählt Dokumente aus, die nicht mit dem entsprechenden Ausdruck übereinstimmen.

Syntax:

{ field: { $not: { } } }

Beispiel:

db.books.find({ price: { $not: { $gt: 200 } } })
$nor

Der $nor-Operator fungiert als logischer NOR-Operator auf einem Array von einem oder mehreren Suchbegriffen und wählt Dokumente aus, die keinem der Suchbegriffe im Array entsprechen.

Syntax:

{ $nor: [ { }, { }, ..... ] }

Beispiel:

db.books.find({ $nor: [ { price: 200 }, { sale: true } ] })
$or

<pعملگر $or به عنوان یک عملگر منطقی OR روی یک آرایه از دو یا چند عبارت عمل می‌کند و اسنادی را انتخاب می‌کند که حداقل یکی از عبارات را برآورده کنند.

Syntax:

{ $or: [ { }, { }, ... , { } ] }

Beispiel:

db.books.find({ $or: [ { quantity: { $lt: 200 } }, { price: 500 } ] })

MongoDB Elementare Operatoren

$exists

Der Operator $exists wählt Dokumente aus, die das angegebene Feld enthalten, wenn der boolesche Wert „true“ ist. Er wählt auch Dokumente aus, die das Feld enthalten, wenn der Wert „null“ ist.

Syntax:

{ field: { $exists: } }

Beispiel:

db.books.find({ qty: { $exists: true, $nin: [5, 15] } })
$-Typ

Der Operator $type wählt Dokumente aus, deren Feldwert als BSON-Typ angegeben ist.

Syntax:

{ field: { $type: } }

Beispiel:

db.books.find({ "bookid": { $type: 2 } })

MongoDB-Auswertungsoperatoren

$expr

Der Operator $expr ermöglicht die Verwendung von Aggregatausdrücken in der Abfragesprache.

Syntax:

{ $expr: { } }

Beispiel:

db.store.find({ $expr: { $gt: [ "$product", "price" ] } })
$jsonSchema

Dieser Operator wählt Dokumente aus, die dem angegebenen JSON-Schema entsprechen.

Syntax:

{ $jsonSchema: }
$mod

Der Operator $mod wählt Dokumente aus, deren Feldwert bei Division durch den Divisor den angegebenen Rest ergibt.

Syntax:

{ field: { $mod: [ divisor, remainder ] } }

Beispiel:

db.books.find({ qty: { $mod: [ 200, 0 ] } })
$regex

Dieser Operator bietet Funktionen für reguläre Ausdrücke zum Abgleich von Zeichenkettenmustern in Abfragen. MongoDB verwendet Perl-kompatible reguläre Ausdrücke.

Syntax:

{ : /pattern/ }

Beispiel:

db.books.find({ price: { $regex: /789$/ } })
$text

Der Operator $text durchsucht den Inhalt eines Feldes, das mit einem Textindex indiziert ist.

Syntax:

{ $text: { $search: , $language: , $caseSensitive: , $diacriticSensitive: } }

Beispiel:

db.books.find({ $text: { $search: "Othelo" } })
$where

Der Operator “where” wird verwendet, um eine Zeichenkette, die einen JavaScript-Ausdruck oder eine vollständige JavaScript-Funktion enthält, an die Abfrage-Engine zu übergeben.

Beispiel:

db.books.find({ $where: function() { return (hex_md5(this.name) == "9b53e667f30cd329dca1ec9e6a8") } })
Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen