MongoDB $ ltrim $ rtrim

MongoDB $ ltrim $ rtrim
Als Entwickler können Sie auf Probleme stoßen. In einer Zeichenfolge können verschiedene Arten von Weißespaces erscheinen. Führende Whitespaces beziehen sich auf die Räume, die am Anfang einer Zeichenfolge vorhanden sind, vor anderen Zeichen. Nach andere Zeichen bezieht sich auf die Räume, die am Ende einer Schnur erscheinen. Der einzige Unterschied zwischen führender und nachlaufender Weißespaces liegt in der Position, in der sie in einer Schnur erscheinen. Die Führung und Nachverfolgung von Whitespaces kann mit verschiedenen Operatoren, LTRIM bzw. RTRIM in MongoDB entfernt werden, und sie haben auch unterschiedliche Zwecke. Führende Weißespaces können Probleme bei der Datenvalidierung verursachen, während die Whitespaces -Vergleiche es schwierig machen, die Zeichenfolgen in Vergleiche oder Suchanfragen zu entsprechen.

Umgebung schaffen

Öffnen Sie das MongoDB Command-Line-Dienstprogramm, um mit dieser Anleitung zu beginnen. Sie müssen Ihre Verbindungszeichenfolge im Befehlszeilendienstprogramm hinzufügen, um die Umgebung einzugeben und sie zu verwenden. Wir werden mit dem ersten Befehl „Show DBS anzeigen“ beginnen, mit dem eine Liste aller Datenbanken angezeigt wird, die auf dem MongoDB -Server vorhanden sind. Die Ausgabe des Befehls zeigt die Namen der Datenbanken und die Größen jeder Datenbank in Bytes an. In diesem Fall gibt es vier Datenbanken: "admin", "config", "lokal" und "test".

Test> DBS anzeigen
admin 40.00 KIB
Konfiguration 72.00 KIB
Lokal 72.00 KIB
Test 40.00 KIB

Der zweite Befehl "Verwenden Sie Test" wird hier verwendet, um die aktuell verwendete Datenbank in die Datenbank "Test" zu wechseln. Die Ausgabe des Befehls ist "bereits im DB -Test" angezeigt, wodurch die aktuelle Datenbank bereits auf "Test" eingestellt ist.

Test> Test verwenden
Bereits beim DB -Test

Es ist Zeit, eine neue Sammlung in unserer Datenbank zu erstellen, die vorerst leer ist. Um eine neue Sammlung namens "Order" in einer MongoDB -Datenbank zu erstellen. Die Funktion “DB.CreateCollection ”wird verwendet, um eine neue Sammlung zu erstellen, und der Sammlungsname„ Order “wird als Argument übergeben. Die Ausgabe des Befehls „OK: 1“ zeigt an, dass die Sammlung erfolgreich erstellt wurde.

Test> db.CreateCollection ("Order")
OK: 1

Jetzt haben wir den Befehl „Sammlung anzeigen“ ausgeführt, mit dem eine Liste von Sammlungen für die aktuelle Datenbank angezeigt wird. In unserem Fall lautet die aktuelle Datenbank "Test" und die Ausgabe ist "Order", die anzeigt, dass es eine Sammlung mit dem Namen "Order" in der "Test" -Datenbank gibt.

Test> Sammlungen anzeigen
Befehl

Fügen Sie Datensätze zur Sammlung ein

Nachdem wir eine neue Sammlung zu einer Datenbank hinzugefügt haben, können wir sie nicht einfach zur Implementierung verwenden, da sie vorerst leer ist, ich bin.e. Sammlung "Bestellung". Wir müssen Datensätze in die neu gemachte Sammlung einfügen. Der unten gezeigte Befehl von MongoDB wird in der MongoDB -Shell verwendet, die mehrere Dokumente in die Sammlung „Order“ in einer MongoDB -Datenbank „Test“ einfügt. Die Funktion “DB.Befehl.InsertMany ”wird verwendet, um mehrere Dokumente gleichzeitig in eine Sammlung einzufügen, und eine Reihe von Dokumenten wird als Argument übergeben. Die Ausgabe der Anweisung zeigt, dass die Dokumente erfolgreich in die Sammlung eingefügt wurden. Das Feld „IniseDIDs“ enthält die eindeutige Bezeichnung (_id), die jedem Datensatz zugeordnet wurde.

Test> db.Befehl.InsertMany ([Titel: "SOAP", Desc: "Soap ist sehr günstig im Preis. \ n \ n ",
… Titel: "Shampo", Desc: "Shampo is exp", Titel: "FaceWash", Desc: "Sehr wichtig",
… Titel: "Zahnpasta", Desc: "\ nused \ ndaily \ n", Titel: "Waschmittel", Desc: null])

Anerkannt: wahr,
InsertDIDs:
'0': ObjectID ("63c74f88ffafaf487D61BDAD32"),
'1': ObjectID ("63c74f88ffafaf487D61BDAD33"),
'2': ObjectID ("63c74f88ffaf487D61BDAD34"),
'3': ObjectID ("63c74f88ffafaf487D61BDAD35"),
'4': ObjectID ("63c74f88ffafaf487D61BDAD36")

Sammlungsdatensätze anzeigen

Nach dem Hinzufügen von 5 Dokumenten zur Sammlung „Order“ werden wir auch die Daten überprüft, um Unannehmlichkeiten zum Zeitpunkt der Implementierung unserer Beispiele zu vermeiden. Der Befehl zum Abfragen der Sammlung „Order“ in einer MongoDB -Datenbank enthält die Funktion „Find ()“, mit der eine Sammlung abfragt wird. Die Ausgabe ist ein Array der gleichen 5 Dokumente, die wir gerade hinzugefügt haben, jeweils eine außergewöhnliche Kennung (_id), die von MongoDB, einem Titel und einer Beschreibung zugewiesen wird.

Test> db.Befehl.finden()
[
_id: objectId ("63c74f88ffaf487d61bdad32"), Titel: 'SOAP', Desc: 'SOAP ist sehr günstig im Preis günstig. \ n \ n ',
_id: ObjectID ("63c74f88ffaf487d61bdad33"), Titel: 'Shampo', Desc: 'Shampo is exp',
_id: ObjectID ("63c74f88ffaf487d61bdad34"), Titel: 'FaceWash', Desc: 'Sehr wichtig',
_id: ObjectID ("63c74f88ffaf487d61bdad35"), Titel: 'Zahnpasta', Desc: '\ nused \ ndaily \ n',
_id: ObjectID ("63c74f88ffaf487D61BDAD36"), Titel: 'Detergent', Desc: Null
]

Beispiel 01: $ LTRIM -Operator

Wie bereits erwähnt, ist $ ltrim ein Operator in MongoDB, mit dem führende Whitespace -Zeichen aus einem Stringfeld entfernt werden. Dieser Betreiber wird in der Methode update () verwendet und verändert die vorhandenen Dokumente in der Sammlung. In diesem Beispiel werden wir den $ LTRIM -Operator im Befehl mongoDB verwenden, um seine Ausgänge zu sehen. Um die Sammlung „Order“ in einer MongoDB -Datenbank abzufragen und eine Aggregationsaktion für die Dokumente in der Sammlung durchzuführen, haben wir die unten aufgeführte Abfrage in der MongoDB -Shell ausprobiert, nachdem wir die Datensätze erfolgreich in die Sammlung eingefügt hatten.

Die Funktion „Aggregat“ wird verwendet, um eine Sammlung abzufragen und einen Kombinationsvorgang in den Auftragssammlungsdokumenten durchzuführen. Der Aggregationsvorgang in dieser Anweisung verwendet den $ Project Pipeline -Betreiber, der die Datensätze in der Sammlung durch Einbeziehung oder Eliminierung bestimmter Felder ändert. In diesem Fall enthält der $ -Projektbetreiber das Titelfeld und ein neues Feld namens Desc, das durch Anwenden des $ ltrim -Operator. Hier entfernt der $ LTRIM -Operator die führenden Whitespaces (am Start) aus einer Zeichenfolge. Das Ausgangsarray ist das gleiche wie zuvor, aber die führenden Whitespaces der DESC -Felder wurden entfernt.

Test> db.Befehl.Aggregate ([$ project: title: 1, desc: $ ltrim: input: "$ desc"])
[
_id: objectId ("63c74f88ffaf487d61bdad32"), Titel: 'SOAP', Desc: 'SOAP ist sehr günstig im Preis günstig. \ n \ n ',
_id: ObjectID ("63c74f88ffaf487d61bdad33"), Titel: 'Shampo', Desc: 'Shampo is exp',
_id: ObjectID ("63c74f88ffaf487d61bdad34"), Titel: 'FaceWash', Desc: 'Sehr wichtig',
_id: ObjectID ("63C74F88ffaf487D61BDAD35"), Titel: 'Zahnpasta', Desc: verwendet \ ndaily \ n ',
_id: ObjectID ("63c74f88ffaf487D61BDAD36"), Titel: 'Detergent', Desc: Null
]

Beispiel 02: $ rtrim operator

Der „RTRIM“ -Preiber führt das genaue Gegenteil des „LTRIM“ -Operators durch. Der gleiche Befehl wurde mit einem einzelnen Wortänderung verwendet. I.e. "Ltrim" wird wie unten gezeigt durch "rtrim" ersetzt. Die $ Project -Phase wählt das Feld "Titel" aus und erstellt ein neues Feld "Desc", das das Ergebnis der Anwendung des $ rtrim -Operator.

Test> db.Befehl.Aggregate ([$ project: title: 1, desc: $ rtrim: input: "$ desc"])
[
_id: objectId ("63c74f88ffaf487d61bdad32"), Titel: 'SOAP', Desc: 'SOAP ist sehr günstig im Preis günstig.',
_id: ObjectID ("63c74f88ffaf487d61bdad33"), Titel: 'Shampo', Desc: 'Shampo is exp',
_id: ObjectID ("63c74f88ffaf487d61bdad34"), Titel: 'FaceWash', Desc: 'Sehr wichtig',
oder,
_id: ObjectID ("63c74f88ffaf487D61BDAD36"), Titel: 'Detergent', Desc: Null
]

Abschluss

Im Artikel handelt. Daher haben wir einen Vergleich der LTRIM- und RTRIM -Operatoren in MongoDB zur Verfügung gestellt. Durch die Einrichtung einer MongoDB -Umgebung haben wir eine neue Sammlung erstellt und die LTRIM- und RTRIM -Betreiber getrennt auf einem seiner Felder innerhalb von zwei separaten Beispielen angewendet, um die Verwendung beider Operatoren zu nutzen. Am Ende haben wir das Ergebnis ohne führende und ablaufende Weiße in dem jeweiligen Saitenfeld erhalten.