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
TLS vs. SSL – Die wichtigsten Unterschiede verstehen und warum sie wichtig sind

TLS vs. SSL – Unterschiede, Geschichte und Bedeutung für die Websicherheit

Wenn es um Websicherheit geht, fallen ständig die Begriffe «SSL» und «TLS». Doch worin genau besteht der Unterschied zwischen den beiden? Warum gilt TLS heute als sicherer Webstandard, während SSL fast in Vergessenheit geraten ist? In diesem Artikel beleuchten wir dieses Thema professionell, um Ihnen ein besseres Verständnis von Websicherheitsprotokollen und der Bedeutung der richtigen Wahl zu vermitteln.