Abfrage mit Zeichenfolgenlänge in MongoDB

MD Aminul Islam 20 Juni 2023
Abfrage mit Zeichenfolgenlänge in MongoDB

Manchmal müssen wir ein bestimmtes Dokument finden, das außergewöhnliche Eigenschaften wie die Zeichenfolgenlänge verwendet. In diesem Artikel werden wir sehen, wie wir bestimmte Dokumente anhand der Zeichenfolgenlänge in MongoDB finden können, und wir werden auch ein Beispiel zu diesem Thema sehen, um es leicht verständlich zu machen.

Suchen Sie ein bestimmtes Dokument in einer Sammlung basierend auf der Zeichenfolgenlänge

Um ein bestimmtes Dokument aus einer Sammlung zu finden, verwenden wir eine sehr verbreitete eingebaute Methode von MongoDB namens find(). Aber wir müssen einige außergewöhnliche Kriterien angeben, wenn wir bereit sind, ein Dokument basierend auf der Zeichenfolgenlänge zu finden.

In unserem nächsten Beispiel sehen wir zwei Möglichkeiten, ein bestimmtes Dokument basierend auf der Zeichenfolgenlänge zu finden.

In unserem Beispiel unten sehen wir, wie wir ein Dokument basierend auf der Zeichenfolgenlänge finden können.

Aber lassen Sie uns zuerst die in unserer Sammlung verfügbaren Dokumente überprüfen. Zu diesem Zweck verwenden wir den folgenden Befehl:

db.mydata.find()

Der obige Befehl zeigt Ihnen alle Dokumente in der Sammlung mydata.

{ _id: ObjectId("63713371117701ff3d627b56"),
  Name: 'Alen',
  Email: 'abc@gmail.com',
  Year: 2018 }
{ _id: ObjectId("63713371117701ff3d627b57"),
  Name: 'Max',
  Email: 'max@gmail.com',
  Year: 2017 }
{ _id: ObjectId("63713371117701ff3d627b58"),
  Name: 'Ethen',
  Email: 'ethen@gmail.com',
  Year: 2019 }
{ _id: ObjectId("63713371117701ff3d627b59"),
  Name: 'Alex',
  Email: 'alex@gmail.com',
  Year: 2020 }

Oben sind die in unserer Sammlung verfügbaren Dokumente aufgeführt. Kommen wir zu unserem nächsten Schritt.

Sehen wir uns nun die Methoden an, mit denen wir das Dokument basierend auf der Zeichenfolgenlänge finden können. Dazu nehmen wir die Länge des Feldes Name.

Verwenden Sie das Schlüsselwort $where

Zu diesem Zweck können wir das Schlüsselwort $where verwenden. Der Befehl lautet wie folgt:

db.mydata.find({ $where: 'this.Name.length > 4' })

Verwenden Sie die Aggregation

Wenn Sie die Aggregation verwenden möchten, können Sie den folgenden Befehl ausführen:

db.mydata.find({
Name: { $exists: true },
$expr: { $gt: [{ $strLenCP: '$Name' }, 4] } })

Beim obigen Befehl bedeutet das Schlüsselwort $gt Größer als. Nachdem Sie nun beide Befehle in der MongoDB-Konsole ausgeführt haben, erhalten Sie dieselbe Ausgabe wie folgt:

{ _id: ObjectId("63713371117701ff3d627b58"),
  Name: 'Ethen',
  Email: 'ethen@gmail.com',
  Year: 2019 }

Bitte beachten Sie, dass die in diesem Artikel gezeigten Befehle für die MongoDB-Datenbank gelten und der Befehl auf der MongoDB-Konsole ausgeführt werden muss.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - MongoDB Query