npm

mongodb

Beispiel 1: synchron

Verbindung mit DB und Collection

mongodb-Modul einbinden

const { MongoClient } = require("mongodb");

Verbindungsdaten

const url = "mongodb://...";

Verbindung initialisieren

const client = new MongoClient(url);

Verbindung öffnen

if (client.connect()) {
  console.log("Verbindung erfolgreich");
}

Datenbank auswählen

const dbName = "tutorial";
const db = client.db(dbName);

Collection auswählen

const collectionName = "products";
const collection = db.collection(collectionName);

Abfragen

Ausgabe aller Daten

collection
  .find()
  .toArray((err, documents) => {
    if (err) {
      console.log(err.message);
      process.exit(1);
    }

    console.log(documents);

    client.close();
  });

Ausgabe nach Suchmuster

collection
  .find({
    name: "Apfel",
  })
  .toArray((err, documents) => {
    if (err) {
      console.log(err.message);
      process.exit(1);
    }

    console.log(documents);

    client.close();
  });

Beispiel: Preis größer als 1

collection.find({ price: { $gt: 1 }, }) ...

Beispiel: Preis kleiner als 1

collection.find({ price: { $lt: 1 }, }) ...

Ausgabe mit nur einem Ergebnis erzwingen

collection.findOne(
  {
    category: "Obst",
  },
  (err, document) => {
    if (err) {
      console.log(err.message);
      process.exit(1);
    }

    console.log(document);

    client.close();
  }
);

weitere Selektoren (Query Operatoren)

https://www.mongodb.com/docs/manual/reference/operator/query/#std-label-query-selectors

Insert

Neue Daten

const insertData = {
  name: "Birne",
  price: "0.90",
  categorie: "Obst",
};

Insert ausführen

collection.insertOne(insertData, (err) => {
  if (err) {
    console.log("Verbindungsfehler: ", err.message);
    process.exit(1);
  }

  console.log("Insert wurde ausgeführt");

  client.close();
});

Update

collection.updateMany(
  { name: "Apfel" },
  { $set: { name: "Apfel rot" } },
  { upsert: true },
  (err) => {
    if (err) {
      console.log("Verbindungsfehler: ", err.message);
      process.exit(1);
    }

    console.log("Update wurde ausgeführt");

    client.close();
  }
);

{ upsert: true }

Überprüfung, ob der Datensatz aktualisiert (Update), oder neu angelegt (Insert) wird.

Update Operatoren

https://www.mongodb.com/docs/manual/reference/operator/update/

Delete

collection.deleteMany({ name: "Apfel rot" }, (err) => {
  if (err) {
    console.log("Verbindungsfehler: ", err.message);
    process.exit(1);
  }

  console.log("Löschen beendet");

  client.close();
});