MongoDB-ODER-Operator

Mongodb Oder Operator



Wir haben verschiedene logische Abfrageoperatoren, die in MongoDB verfügbar sind, und einer davon ist der $or-Operator. Der MongoDB-Operator $or wird verwendet, um eine logische OR-Operation für ein Array zu implementieren, das zwei oder mehr Ausdrücke enthält, und nur die Dokumente abzurufen, die mit einem der angegebenen Ausdrücke im Array übereinstimmen. Der $or-Operator wird verwendet, um mehrere Aussagen in einer einzigen Abfrage mit nur einem übereinstimmenden Dokumentkriterium zu finden. Der $or-Operator erleichtert die Kombination mehrerer Schlüssel und Werte.

So verwenden Sie den OR-Operator in MongoDB

Der OR-Operator in MongoDB wird im „$or“-Format dargestellt. Das „$or“ wird verwendet, um die Mehrfachausdrücke in eckige Klammern einzuschließen, auf denen die logische ODER-Operation ausgeführt wird. Wir verwenden den $or-Operator für die MongoDB-Sammlung. Wir erstellen die MongoDB-Sammlung mit dem Titel „Patienten“. Die Sammlung „Patienten“ wird mit den mehreren Dokumenten eingefügt, für die wir den $or-Operator ausführen. Die folgenden Dokumente werden in MongoDB eingefügt, indem die Methode insertMany() aufgerufen wird:

db.Patienten.insertMany ( [
{
'Vorname' : 'Jennifer' ,
'Familienname, Nachname' : 'Josua' ,
'Das Alter' : 44 ,
'Telefonnummer' : 43400517 ,
'Geplanter Termin' : 'Zahnarzt' ,
'Gebühren' : 2000 ,
'Prüfen' : [ 'Röntgen' , 'Blut' , 'Pulpa' ]
} ,
{
'Vorname' : 'Thomas' ,
'Familienname, Nachname' : 'Steven' ,
'Das Alter' : 74 ,
'Telefonnummer' : 39034694 ,
'Termin' : 'Der Chirurg' ,
'Gebühren' : 6000 ,
'Prüfen' : [ 'Wahl' , 'PPT' ]
} ,
{
'Vorname' : 'Karl' ,
'Familienname, Nachname' : 'Daniel' ,
'Das Alter' : 35 ,
'Telefonnummer' : 65712165 ,
'Geplanter Termin' : 'Arzt für Kardiologie' ,
'Gebühren' : 2000 ,
'Prüfen' : [ 'CT' , 'MRT' ]
} ,
{
'Vorname' : 'Michelle' ,
'Familienname, Nachname' : 'Paul' ,
'Das Alter' : 51 ,
'Telefonnummer' : 54399288 ,
'Geplanter Termin' : 'Hautarzt' ,
'Gebühren' : 8000 ,
'Prüfen' : [ 'Hautbiopsien' , 'Holzlicht' , 'Hautkratzen' ]
} ,

{
'Vorname' : 'Andreas' ,
'Familienname, Nachname' : 'Jerry' ,
'Das Alter' : 69 ,
'Telefonnummer' : 6108100 ,
'Geplanter Termin' : 'Arzt für Kardiologie' ,
'Gebühren' : 7000 ,
'Prüfen' : [ 'EKG' , 'Blutzucker' , 'Ultraschall' ]
}
] )

Die Ausgabe der zuvor eingefügten Dokumente bestätigt „true“ und stellt die „insertedIds“-Werte für jedes Dokument bereit.









Beispiel 1: MongoDB $OR-Operator zum Abgleichen der Dokumente

Die grundlegende Abfrage des MongoDB-Operators $or wird hier implementiert, was die Funktionsweise dieses Operators in MongoDB demonstriert. Hier definieren wir eine Abfrage mit der Methode find(). Die find()-Methode wird weiter mit dem $or-Operator spezifiziert. Der $or-Operator übernimmt zwei Felder, „Termin“ und „Gebühren“, denen die Werte zugewiesen werden. Der $or-Operator stimmt mit dem Feldwert überein und ruft nur die Dokumente ab, deren Werte mit den Feldwerten übereinstimmen. Die Abfragestruktur des $or-Operators wird im Folgenden bereitgestellt:



db.Patienten.find ( { $oder : [ { Geplanter Termin: 'Hautarzt' } ,
{ Gebühren: 7000 } ] } ) .ziemlich ( )

Wir rufen die Dokumente ab, deren „Termin“ mit „Dermatologe“ und deren „Gebühren“ „7000“ lautet. Der $or-Operator findet wahre Ergebnisse aus beiden Feldwerten und gibt die übereinstimmenden Dokumente in der Ausgabe zurück.





Beispiel 2: MongoDB-ODER-Operator zum Abgleich der nicht vorhandenen Dokumente

In der vorherigen Abfrage des $or-Operators haben wir die übereinstimmenden Dokumente abgerufen. Jetzt rufen wir das nicht vorhandene Dokument aus der Sammlung „Patient“ ab. Die folgende $or-Operatorabfrage nimmt das Dokument, dessen „Vorname“ „Charles“ ist und dessen „Termin“ mit dem „Arzt“ lautet. Der $or-Operator gleicht diese Feldwerte innerhalb der Sammlung „Patienten“ ab und generiert die Ergebnisse nach dem Abgleich.



db.Patienten.find ( { $oder : [ { 'Vorname' : 'Karl' } , { 'Geplanter Termin' : 'Arzt' } ] } ) .ziemlich ( )

Der $or-Operator hat ein wahres Ergebnis und das andere ein falsches Ergebnis. Da wir den „Termin“ mit dem Wert „Arzt“ angeben, der mit keinem der Dokumente in der Sammlung „Patient“ übereinstimmt. Aus diesem Grund gibt der $or-Operator nur das Dokument des übereinstimmenden Felds „Patient“ als Ausgabe zurück.

Beispiel 3: MongoDB $OR-Operator mit mehreren Argumenten

Wir haben in den vorherigen $or-Operatorabfragen zwei Argumente bereitgestellt. Hier übergeben wir mehr als zwei Argumente als $or-Operatorausdruck. Wir rufen das Dokument ab, das mit einem der angegebenen „Alter“-Feldwerte übereinstimmt. Die Anforderung des $or-Operators ist für mehrere Argumente gleich, dass einer der Ausdrücke wahr sein muss. Die Abfrage für mehrere Argumente im $or-Operator lautet wie folgt:

db.Patienten.find ( { 'Geplanter Termin' : 'Arzt für Kardiologie' , $oder : [ { 'Das Alter' : zwanzig } , { 'Das Alter' : 35 } , { 'Das Alter' : 69 } ] } )

Dort haben wir zwei übereinstimmende Ergebnisse, die vom $or-Operator erhalten werden. Die „Alter“-Werte „35“ und „69“ werden mit den „Patienten“-Dokumenten verglichen, die vom $or-Operator erhalten und auf der Shell angezeigt werden.

Beispiel 4: MongoDB $OR-Operator mit Aggregation

Die Aggregatmethode in MongoDB kombiniert die Datensätze zu einer Sammlung. Daher können sie für verschiedene Operationen verwendet werden. Wir führen den $or-Operator in der Aggregationsmethode aus, die einen oder mehrere Ausdrücke auswertet und wahr zurückgibt, wenn einer von ihnen als wahr ausgewertet wird. Andernfalls gilt die Aussage als falsch.

Lassen Sie uns den Aggregationsoperator $or abfragen, bei dem wir zuerst die Methodeaggregat() aufrufen, die dann das $match und das $project bereitstellt, das mit dem _id-Wert angegeben ist, der aus dem Dokument abgeglichen werden soll. Dann setzen wir das Feld „Alter“ auf den Wert „1“, weil wir nur wollen, dass dieses Feld aus allen Dokumenten generiert wird. Danach definieren wir das Attribut „Ergebnisse“, das die $or-Operation enthält. Der $or-Operator übernimmt die bedingte Anweisung von $gt. Der Ausdruck „$gt:[„$Age“, 69]“ gibt das Alter an, dessen Wert größer als „69“ ist. Die Ergebnisse für diesen Ausdruck werden an den $or-Operator übergeben, und der $or-Operator gibt das Dokument zurück, das die angegebene Bedingung erfüllt.

db.Patienten.aggregate (
[
{ $match : { _id: Objekt-ID ( '6391c61a4c91e007fb4f0228' ) } } ,
{ $projekt : {
_id: Objekt-ID ( '6391c61a4c91e007fb4f0227' ) ,
Das Alter: einer ,
Ergebnis: { $oder : [
{ $gt : [ ' $Alter ' , 69 ] }
] }
}
}
]
)

Das „Alter“, das größer als „69“ ist, ist „74“, das in der Ausgabe-Shell zusammen mit den „Ergebnissen“ angezeigt wird, die den Wert „wahr“ haben.

Beispiel 5: Der $OR-Operator von MongoDB ruft die Bedingungen auf

Der $or-Operator von MongoDB ist ein logischer Operator. Wir können diesen logischen Operator mit dem Bedingungsoperator verwenden. Der $or-Operator gibt die Ergebnisse zurück, wenn die Bedingungen erfüllt sind. Außerdem können wir mehr als eine Bedingung im $or-Operator aufrufen, von denen eine wahr sein muss. Hier haben wir eine Abfrage des $or-Operators, der mit zwei verschiedenen Bedingungen angegeben wird. Die erste Bedingung ist „{Gebühren:{$lt: 6000}}“, die das Dokument zurückgibt, das kleiner als der „Gebühren“-Wert von „6000“ ist. Die Bedingung {Gebühren:“$gt: 7000“} ruft das Dokument ab, das größer als der „Gebühren“-Wert von „7000“ ist.

Der $or-Operator gibt das übereinstimmende Dokument aus, wenn diese Bedingungen erfüllt sind. Dann geben wir die Namen der Felder an, die nur angezeigt werden, wenn der $or-Operator das übereinstimmende Dokument liefert.

db.Patienten.find ( {
$oder : [
{ Gebühren: { $lt : 6000 } } ,
{ Gebühren: { $gt : 7000 } }
]
} , {
Vorname: einer ,
Gebühren: einer
} )

Die Ausgabe zeigt nur die Felder „FirstName“ und „Charges“ für die abgeglichenen Dokumente an.

Beispiel 6: MongoDB $OR-Operator ohne Argument

Alle implementierten Abfragen mit dem $or-Operator werden mit dem Argumentwert übergeben. Jetzt definieren wir die $or-Operatorabfrage, die kein Argument eingibt. Wenn die Abfrage mit dem leeren Argument $or ausgeführt wird, wertet sie die falschen Ergebnisse aus. Wir geben eine Abfrage, bei der die $or-Operation mit dem leeren Ausdruck übergeben wird.

db.Patienten.aggregate (
[
{ $match : { _Ich würde: { $in : [ Objekt Identifikation ( '6391c61a4c91e007fb4f0228' ) ] } } } ,
{ $projekt : {
_id: Objekt-ID ( '6391c61a4c91e007fb4f0227' ) ,
Ergebnis: { $oder : [ ] } }
}
]
)

Da das Ergebnis des $or-Operators mit einem leeren Argument geliefert wird, geben die Ergebnisse einen falschen Wert an.

Beispiel 7: Der $OR-Operator von MongoDB stimmt mit den Array-Werten überein

Wir fügen das Array „Test“ in die Dokumente ein, die unterschiedliche Werte haben. Wir verwenden dieses Array für den $or-Operator, um die Ergebnisse zu untersuchen. Der $or-Operator in der folgenden Abfrage wird innerhalb der Methode find() aufgerufen. Der $or-Operator nimmt das „Test“-Array als Ausdruck. Das „Test“-Array verwendet den $in-Operator, um die Dokumente zu identifizieren, deren Feldwerte mit den „MRI“- und „CT“-Werten im Array übereinstimmen.

db.Patienten.find ( { $oder : [ { Prüfen: { $in : [ 'MRT' , 'CT' ] } } ] } ) .ziemlich ( )

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

Fazit

Dieser MongoDB-Artikel veranschaulicht die Verwendung einer MongoDB $or-Operatorabfrage zum Ausführen der logischen ODER-Operationen auf einem Array, das zwei oder mehr Ausdrücke enthält, sowie zum Abrufen der Dokumente, die mindestens einem der Ausdrücke entsprechen. Der $or-Operator wird in der MongoDB-Shell abgefragt, um verschiedene Operationen auszuführen. Der $or-Operator wird in bedingten Operatoren als Ausdruck verwendet und gibt die Dokumente basierend auf den bedingten Anweisungen zurück.