# MongoDB Find: Dokumente in Sammlungen finden

Mit den MongoDB-Befehlen Find und Find One lokalisieren Sie alle oder einige Dokumente, die bestimmten Suchparametern entsprechen. Die Befehle lassen sich auch mit Python oder Node.js verwenden.

## Was ist der MongoDB-Find-Befehl und wozu dient er?

Wenn Sie sich bereits ein wenig mit [MongoDB](https://www.ionos.de/digitalguide/websites/web-entwicklung/mongodb-vorstellung-und-vergleich-mit-mysql/ "MongoDB: Vorstellung und Vergleich mit MySQL") beschäftigt haben, wissen Sie bereits, dass das [Datenbankmanagementsystem](https://www.ionos.de/digitalguide/hosting/hosting-technik/datenbankmanagementsystem-dbms-erklaert/ "Datenbankmanagementsystem (DBMS) erklärt") ein wenig anders funktioniert als klassische relationale Datenbanken wie z. B. [MySQL](https://www.ionos.de/digitalguide/server/knowhow/was-ist-mysql/ "Was ist MySQL?"). MongoDB erstellt zwar auch Datenbanken, speichert die Daten allerdings nicht in Tabellen, sondern in **Dokumenten**, die wiederum in sogenannten Collections oder Sammlungen zusammengefasst werden. Hierbei stellt sich die Frage, wie sich die entsprechenden Daten **durchsuchen und anzeigen lassen**. Das System kennt hierfür zwei grundsätzliche [MongoDB Commands](https://www.ionos.de/digitalguide/websites/web-entwicklung/mongodb-commands/ "MongoDB Commands"): Find und Find One. Diese erstellen einen Cursor zu allen oder bestimmten Dokumenten, die Ihren definierten Suchparametern entsprechen.

## Die Syntax des Find-Befehls

Um den Find-Befehl und seine Funktionsweise zu verstehen, sollten Sie zunächst einen Blick auf die grundsätzliche Syntax werfen, die folgendermaßen aussieht:

```none
db.collection.find
(
<query>,</query>
<projection></projection>
)
```

Neben dem eigentlichen Befehl enthält Find somit noch zwei Parameter, die in der Klammer dahinter vermerkt sind. **&lt;query&gt;&lt;/query&gt;** ist ein Filter-Parameter, mit dem die Suche spezifiziert werden kann. Der zweite Parameter **&lt;projection&gt;&lt;/projection&gt;** ist optional und legt fest, welche Aspekte jedes passenden Dokuments ausgegeben werden sollen.

## Beispiel für den Find-Befehl

Stellen Sie sich als Beispiel eine Liste für Kundinnen und Kunden aus Deutschland vor, die Sie nun mit dem MongoDB-Find-Befehl durchsuchen möchten. Diese befindet sich als Sammlung in der **Datenbank „kunden“**. Wenn Sie eine grundsätzliche Übersicht über alle Dokumente erhalten wollen, nutzen Sie den Find-Befehl, verzichten auf &lt;projection&gt; und lassen auch den Parameter &lt;query&gt; leer. In Code-Form sieht das folgendermaßen aus:

```none
>use kunden
switched to db kunden
>db.liste_deutschland.find();
>
```

Als Ergebnis erhalten Sie nun die gesamte Liste der Kundinnen und Kunden aus Deutschland, inklusive sämtlicher Informationen, die Sie hinterlegt haben. Vorangestellt wird den Dokumenten dabei immer ihre **einzigartige \_id-Nummer**, durch die das System jedes Dokument exakt identifizieren kann.

## Beispiel für den Find-Befehl mit Parametern

Zwar kann die Ausgabe sämtlicher Dokumente mithilfe des Find-Befehls durchaus nützlich sein, besonders interessant wird es allerdings, wenn Sie **nur ganz bestimmte Dokumente filtern** möchten. Dabei helfen Ihnen die erwähnten Parameter. Stellen Sie sich dafür vor, dass folgende Informationen zu jeder Kundin und jedem Kunden hinterlegt sind und sich bei Bedarf ausspielen lassen:

```none
"_id": ObjectID,
"name": "Mustermann"
"adress": "Beispielweg 17"
"city": "Hamburg"
```

Möchten Sie nun aus Ihrer Datenbank mit mehreren Hundert Kundinnen und Kunden aus verschiedenen Städten beispielsweise jene filtern, die aus Berlin kommen, gehen Sie folgendermaßen vor:

```none
Db.liste_deutschland.find({"city": "Berlin"})
```

Das System filtert nun sämtliche Einträge in der **Sammlung „liste\_deutschland“**, zeigt Ihnen aber nur Ergebnisse an, die als Stadt Berlin hinterlegt haben.

## Beispiel für den Find-One-Befehl

Neben der generellen Find-Option, mit der Sie sich alle oder nur bestimmte Dokumente anzeigen lassen, bietet das System auch die zusätzliche MongoDB-Funktion Find One. Diese Methode zeigt Ihnen genau ein Dokument an, das den **definierten Kriterien entspricht**. Ausgewählt wird dabei das erste Dokument, das in der Auflistung auftaucht. Entspricht kein Dokument den Suchkriterien, dann wird „Null“ ausgegeben. Die Syntax von Find One ähnelt der von Find:

```none
db.collection.findOne
(
<query>,</query>
<projection></projection>
)
```

Auch hier werden durch **&lt;query&gt;** Suchkriterien definiert, und das optionale **&lt;projection&gt;** gibt an, welche Felder des Treffers ausgespielt werden. Wenn Sie den Befehl Find One dementsprechend für das oben genannte Beispiel anwenden, sieht das folgendermaßen aus:

```none
>use kunden
switched to db kunden
>db.liste_deutschland.findOne();
>
```

Als Ausgabe erhalten Sie im Anschluss den ersten Eintrag auf Ihrer Kundenliste für Deutschland.

---

### Tipp: Managed MongoDB von IONOS

Mit **Managed** [**MongoDB von IONOS**](https://cloud.ionos.de/managed/dbaas/managed-mongodb?itc=2E5H5WQ0-HUKYUQ-LTP4SQO "Managed MongoDB von IONOS") können Sie sich auf das Wesentliche konzentrieren. Ob Installation, Betrieb oder Wartungsarbeiten, IONOS sorgt für einen zuverlässigen Betrieb Ihrer hochperformanten Datenbanken.

---

## Der MongoDB-Find-Befehl mit Node.js und Python

Sie können MongoDB auch mit [Node.js](https://www.ionos.de/digitalguide/websites/web-entwicklung/einfuehrung-in-nodejs/) oder Python verwenden. In diesem Fall sieht der Find-Befehl ein wenig anders aus, wobei **die grundsätzliche Funktionalität erhalten bleibt**.

### Der Find-One-Befehl in Python

Ein beliebter MongoDB Driver für die Arbeit mit Python ist PyMongo. Verwenden Sie diesen Driver, sieht der Find-One-Befehl zum Beispiel so aus:

```none
import pymongo
myclient = pymongo.MongoClient ("mongodb://localhost:24137/")
mydb = myclient ["kunden"]
mycol = mydb ["liste_deutschland"]
x = myco.find_one()
print ( x )
```

### Der Find-One-Befehl mit Node.js

Auch die JavaScript-Laufzeitumgebung Node.js kann in MongoDB verwendet werden. Möchten Sie den Find-One-Befehl dort ausführen, sieht der Code folgendermaßen aus:

```none
var MongoClient = require ('mongodb').MongoClient;
var url = "mongodb://localhost:24137/";
MongoClient.connect (url, function (err, db) {
if (err) throw err;
var dbo = db.db ("mydb");
dbo.collection ("liste_deutschland").findOne ( {}, function (err, result) {
if (err) throw err;
console-log (result.name);
db.close();
} );
} );
```

---

### Tipp

Sie möchten in MongoDB Ihre Dokumente sortieren und sich dadurch eine bessere Übersicht verschaffen? Dann nutzen Sie den [MongoDB-Befehl Sort](https://www.ionos.de/digitalguide/websites/web-entwicklung/mongodb-sort/ "MongoDB Sort"), der dies für Sie in kürzester Zeit erledigt.

---


This is a markdown version of: [https://www.ionos.de/digitalguide/websites/web-entwicklung/mongodb-find/](https://www.ionos.de/digitalguide/websites/web-entwicklung/mongodb-find/) for AI/LLM consumption.