MongoDB oder Operator

MongoDB oder Operator
Wir haben unterschiedliche logische Abfrageberatoren, die in MongoDB erhältlich sind, und einer von ihnen ist der $ oder der Operator. Der MongoDB $ oder der Bediener wird verwendet, um eine logische oder operation in einem Array zu implementieren, die zwei oder mehr Ausdrücke enthält und nur die Dokumente abzurufen, die mit einem der angegebenen Ausdrücke im Array übereinstimmen. Der $ oder den Bediener wird verwendet, um mehrere Anweisungen in einer einzelnen Abfrage mit nur einem übereinstimmenden Dokumentkriterium zu finden. Der $ oder Operator erleichtert die Kombination mehrerer Schlüssel und Werte.

So verwenden Sie den oder den Operator in MongoDB

Der ODER -Operator in MongoDB ist im Format „$ oder“ dargestellt. Das „$ oder“ wird verwendet, um die mehreren Ausdrücke in die quadratischen Klammern zu beischließen, auf denen die logische oder operation durchgeführt wird. Wir verwenden den $ oder den Bediener auf der MongoDB -Sammlung. Wir erstellen die MongoDB -Sammlung mit dem Titel „Patienten“ mit dem Titel "Patienten". Die Sammlung „Patienten“ wird mit den mehreren Dokumenten eingefügt, auf denen wir den $ oder den Operator ausführen. Die folgenden Dokumente werden in MongoDB eingefügt, indem die Methode InsertMany () aufgerufen wird:

db.Patienten.InsertMany ([

"FirstName": "Jennifer",
"Lastname": "Joshua",
"Alter": 44,
"PhoneNumber": 43400517,
"Termin": "Zahnarzt",
"Gebühren": 2000,
"Test": ["Röntgen", "Blut", "Pulpal"]
,

"FirstName": "Thomas",
"Lastname": "Steven",
"Alter": 74,
"PhoneNumber": 39034694,
"TerminDate": "Chirurg",
"Gebühren": 6000,
"Test": ["elektiv", "PPT"]
,

"FirstName": "Charles",
"Lastname": "Daniel",
"Alter": 35,
"PhoneNumber": 65712165,
"Termin": "Kardiologiearzt",
"Gebühren": 2000,
"Test": ["CT", "MRT"]
,

"FirstName": "Michelle",
"Lastname": "Paul",
"Alter": 51,
"PhoneNumber": 54399288,
"Termin": "Dermatologe",
"Gebühren": 8000,
"Test": ["Hautbiopsien", "Holzlicht", "Hautkratzer"]
,

"FirstName": "Andrew",
"LastName": "Jerry",
"Alter": 69,
"PhoneNumber": 6108100,
"Termin": "Kardiologiearzt",
"Gebühren": 7000,
"Test": ["EKG", "Blutzucker", "Ultraschall"]

]))

Die Ausgabe der zuvor nicht inerverstierten Dokumente erkennen „true“ an und liefern die Werte „InisedIDs“ für jedes Dokument.

Beispiel 1: MongoDB $ oder Operator, um die Dokumente zu entsprechen

Die grundlegende Abfrage des MongoDB $ oder des Bedieners wird hier implementiert, was die Arbeit dieses Bedieners in MongoDB demonstriert. Hier definieren wir eine Abfrage mit der Find () -Methode. Die Find () -Methode wird weiter mit dem $ oder Operator angegeben. Der $ oder den Betreiber nimmt zwei Felder, „Termin“ und „Gebühren“, die mit den Werten zugewiesen sind. Der $ oder Bediener entspricht dem Feldwert und ruft nur die Dokumente ab, deren Werte mit den Feldwerten übereinstimmen. Die Abfragestruktur des $ oder des Bedieners ist im Folgenden bereitgestellt:

db.Patienten.find ($ oder: [Termin: "Dermatologe",
Gebühren: 7000]).hübsch()

Wir holen die Dokumente, deren „Termin“ mit „Dermatologen“ und deren „Gebühren“ „7000“ sind. Der $ oder Operator findet echte Ergebnisse aus beiden Feldwerten und gibt die übereinstimmenden Dokumente in der Ausgabe zurück.

Beispiel 2: MongoDB $ oder Operator, um den nicht existierenden Dokumenten zu entsprechen

In der vorherigen Abfrage des $ oder des Bedieners haben wir die übereinstimmenden Dokumente abgerufen. Jetzt holen wir das nicht existierende Dokument aus der Sammlung „Patienten“ ab. Die folgende Abfrage von $ oder Operator nimmt das Dokument auf, dessen "FirstName" "Charles" und der "Termin" mit dem "Arzt" ist. Der $ oder Operator entspricht diesen Feldwerten in der Sammlung „Patienten“ und generiert die Ergebnisse nach dem Matching.

db.Patienten.find ($ oder: ["FirstName": "Charles", "Termin": "Arzt"]).hübsch()

Der $ oder den Betreiber hat ein echtes Ergebnis und das andere hat ein falsches Ergebnis. Da wir den „Termin“ mit dem Wert „Arzt“ angeben, der keinen der Dokumente in der Sammlung „Patienten“ übereinstimmt. Aus diesem Grund gibt der $ oder der Bediener nur das Dokument des übereinstimmten Feldes zurück, das „geduldig“ als Ausgabe ist.

Beispiel 3: MongoDB $ oder Operator mit mehreren Argumenten

Wir haben zwei Argumente in den vorherigen Abfragen von $ oder Bediener vorgelegt. Hier bestehen wir mehr als zwei Argumente als Ausdruck von $ oder Bediener. Wir holen das Dokument ab, das den Feldwerten der „Alter“ entspricht, die ihm angegeben sind. Die Anforderung von $ oder Bediener ist für die verschiedenen Argumente gleich, dass einer der Ausdrücke wahr sein sollte. Die Abfrage für mehrere Argumente im $ oder Operator wird wie folgt angegeben:

db.Patienten.Find ("Termin": "Kardiologiearzt", $ oder: ["Alter": 20, "Alter": 35, "Alter": 69])

Dort haben wir zwei übereinstimmende Ergebnisse, die vom $ oder Operator erhalten werden. Die "Alters" -Werte, die "35" und "69" sind.

Beispiel 4: MongoDB $ oder Operator mit Aggregation

Die aggregierte Methode in MongoDB kombiniert die Datensätze zu einer Sammlung. Daher können sie für verschiedene Operationen verwendet werden. Wir führen den $ oder Operator in der Aggregationsmethode aus, die einen oder mehrere Ausdrücke bewertet und true zurückgibt, wenn einer von ihnen an True bewertet wird. Andernfalls wird die Aussage als falsch angesehen.

Lassen Sie uns die Abfrage von $ oder Aggregationsbetreiber haben, bei der wir zuerst die Aggregate () -Methode aufrufen, die dann das $ Match und das $ -Projekt bereitstellt, das mit dem _ID -Wert angegeben ist, der aus dem Dokument abgestimmt werden soll. Dann setzen wir das Feld „Alter“ mit dem Wert von „1“, da wir nur möchten, dass dieses Feld aus allen Dokumenten generiert wird. Danach definieren wir das Attribut „Ergebnisse“, das den $ oder den Betrieb hat. Der $ oder Operator nimmt die bedingte Erklärung von $ gt an. Der Ausdruck „$ gt: [„ $ ay “, 69]“ gibt dem Alter, dessen Wert größer als „69“ ist. Die Ergebnisse für diesen Ausdruck werden an den $ oder den Bediener übergeben und der $ oder den Bediener gibt das Dokument zurück, das dem angegebenen Zustand entspricht.

db.Patienten.Aggregat(
[
$ Match: _id: ObjectID ("6391C61A4C91E007FB4F0228"),
$ project:
_id: ObjectID ("6391C61A4C91E007FB4F0227"),
Alter: 1,
Ergebnis: $ oder: [
$ gt: ["$ ay", 69]
]


]
)

Das „Alter“, das größer als „69“ ist.

Beispiel 5: MongoDB $ oder Operator ruft die Bedingungen auf

Der $ oder Operator von MongoDB ist ein logischer Operator. Wir können diesen logischen Operator mit dem bedingten Bediener verwenden. Der $ oder den Betreiber gibt die Ergebnisse zurück, wenn die Bedingungen erfüllt sind. Darüber hinaus können wir mehr als eine Bedingung im $ oder des Bedieners aufrufen, aus denen man wahr sein muss. Hier haben wir eine Anfrage zu $ ​​oder Operator, die unter zwei verschiedenen Bedingungen angegeben ist. Die erste Bedingung ist "Ladungen: $ Lt: 6000", das das Dokument zurückgibt, das weniger als der "Gebühren" von "6000" ist. Die Gebühren: "$ gt: 7000" erhält das Dokument, das größer als der "Gebühren" von "7000" ist.

Der $ oder Operator gibt das übereinstimmende Dokument an, wenn diese Bedingungen erfüllt sind. Dann geben wir die Namen der Felder an, die nur angezeigt werden, wenn der $ oder den Bediener das übereinstimmende Dokument angibt.

db.Patienten.finden(
$ oder: [
Gebühren: $ lt: 6000,
Gebühren: $ GT: 7000
]
,
FirstName: 1,
Gebühren: 1
)

Die Ausgabe zeigt nur die Felder „FirstName“ und „Gebühren“ für die übereinstimmenden Dokumente an.

Beispiel 6: MongoDB $ oder Operator ohne Argument

Alle implementierten Abfragen mit dem $ oder Operator werden mit dem Argumentwert übergeben. Jetzt definieren wir die Abfrage von $ oder Operator, die kein Argument eingibt. Wenn das leere Argument $ oder Operator -Abfrage ausgeführt wird, bewertet es die falschen Ergebnisse. Wir geben eine Abfrage, bei der der $ oder die Operation mit dem leeren Ausdruck weitergegeben wird.

db.Patienten.Aggregat(
[
$ Match: _id: $ in: [ObjectID ("6391C61A4C91E007FB4F0228")],
$ project:
_id: ObjectID ("6391C61A4C91E007FB4F0227"),
Ergebnis: $ oder: []

]
)

Aufgrund des $ oder des Betreibers wird mit einem leeren Argument geliefert, die Ergebnisse geben einen falschen Wert an.

Beispiel 7: MongoDB $ oder Operator entspricht den Array -Werten

Wir geben das "Test" -Array in die Dokumente mit unterschiedlichen Werten ein. Wir verwenden dieses Array für den $ oder den Operator, um die Ergebnisse zu untersuchen. Der $ oder den Operator in der folgenden Abfrage wird innerhalb der Find () -Methode aufgerufen. Der $ oder Operator nimmt das "Test" -Array als Ausdruck. Das "Test" -Array verwendet den $ im Bediener, um die Dokumente zu identifizieren, deren Feldwerte mit den Werten „MRT“ und „CT“ im Array übereinstimmen.

db.Patienten.find ($ oder: [test: $ in: ["mri", "ct"]]).hübsch()

Ein Dokument wird auf der Shell angezeigt, wenn der $ oder der Abfrageberator ausgeführt wird, was zeigt, dass das abgerufene Dokument die angegebenen Array -Werte enthält.

Abschluss

Dieser MongoDB -Artikel zeigt die Verwendung einer MongoDB $- oder Operator -Abfrage zur Ausführung der logischen oder Operationen in einem Array, das zwei oder mehr Ausdrücke enthält, und um die Dokumente abzurufen, die mindestens einem der Ausdrücke übereinstimmen. Der $ oder den Bediener wird in der MongoDB -Shell befragt, um unterschiedliche Operationen auszuführen. Der $ oder Operator wird in bedingten Operatoren als Ausdruck verwendet und gibt die Dokumente anhand der bedingten Aussagen zurück.