Der in-Operator in MongoDB

Tahseen Tauseef 15 Februar 2024
  1. IN-Operator ($in) in MongoDB
  2. Verwenden Sie den $in-Operator in MongoDB, um Werte abzugleichen
  3. Aktualisieren Sie Dokumente mit dem Operator $in in MongoDB
Der in-Operator in MongoDB

In diesem MongoDB-Tutorial-Artikel wird das Problem der Verwendung des Operators $in in MongoDB erörtert.

IN-Operator ($in) in MongoDB

MongoDB enthält viele Operatoren, die für eine Reihe von Aufgaben verwendet werden. Der Operator $in erlaubt Ihnen, Dokumente genau zu lokalisieren, und die Methoden find() und update() können mit diesem Operator verwendet werden.

Der Operator $in vergleicht die Werte eines Felds mit dem bereitgestellten Wert im Array, um ein Dokument innerhalb einer Sammlung auszuwählen. Wenn der Wert eines Dokumentfelds ein Array ist, wählt der $in-Operator von MongoDB nur die Dokumente aus, deren Felder ein Array mit mindestens einem Element enthalten, das mit dem angegebenen Wert übereinstimmt.

Syntax:

{ field: { $in: [<value1>, <value2>, ... <valuen> ] }

Verwenden Sie den $in-Operator in MongoDB, um Werte abzugleichen

Angenommen, Sie haben ein Datenbankverwaltungssystem für Obstgeschäfte und eine Datenbank, in der alle Daten Ihrer Obstartikel wie Preise, Menge, Gewicht usw. gespeichert sind. Im Folgenden wird erläutert, wie Sie Dokumente extrahieren, deren Ergebnisse basierend auf einem bestimmten Wert übereinstimmen.

Starten Sie zuerst Ihren MongoDB-Server und übergeben Sie den folgenden Befehl, um alle Ihre Datenbanken aufzulisten und Ihre Datenbank zu verwenden.

Befehl:

show dbs
use data

Lassen Sie uns alle Dokumente in Ihrer Sammlung auflisten. Sie können dann den Operator $in verwenden, um nach bestimmten Werten herauszufiltern.

db={
  "data": [
    {
      "_id": ObjectId("6034fd2bf74cfd0438bdb19b"),
      "onSale": false,
      "name": "Orange",
      "price": 500,
      "weight": "1 kilograms",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e7"),
      "onSale": false,
      "name": "Banana",
      "price": 350,
      "weight": "2 dozen",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e8"),
      "onSale": false,
      "name": "Apple",
      "price": 125,
      "weight": "500 grams",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e9"),
      "onSale": false,
      "name": "Mango",
      "price": 300,
      "weight": "4 kilograms",
      "__v": 0
    }
  ]
}

Aktualisieren Sie Dokumente mit dem Operator $in in MongoDB

Verwenden Sie die Methode update() für die Dokumente, um die Werte einiger Dokumente zu aktualisieren.

db={
  "data": [
    {
      "_id": ObjectId("6034fd2bf74cfd0438bdb19b"),
      "onSale": false,
      "name": "Orange",
      "price": 500,
      "weight": "1 kilograms",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e7"),
      "onSale": false,
      "name": "Banana",
      "price": 350,
      "weight": "2 dozen",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e8"),
      "onSale": false,
      "name": "Apple",
      "price": 125,
      "weight": "500 grams",
      "__v": 0
    },
    {
      "_id": ObjectId("603502ba24df1c2350e676e9"),
      "onSale": false,
      "name": "Mango",
      "price": 300,
      "weight": "4 kilograms",
      "__v": 0
    }
  ]
}

Wenn Sie den Preis der Frucht Apfel ändern möchten. Sie können diese Abfrage übergeben, um den Preis von "Apple" auf "200" zu ändern.

Anfrage:

db.data.update({
  name: {
    $in: [
      "Apple"
    ]
  }
},
{
  $set: {
    price: 200
  }
})

Abfrage ausführen

Nachdem Sie die Methode find() verwendet haben, erhalten Sie das folgende Ergebnis. Der Preis von "Apple" wurde mit dem Operator $in in der Methode update() von 125 auf 200 aktualisiert.

Ausgang:

Verwenden Sie den $in-Operator, um den Wert in einer Datenbank zu aktualisieren

In diesem MongoDB-Tutorial-Artikel haben Sie gelernt, was der Operator $in ist, wie Sie den Operator $in verwenden können, um Werte in Sammlungen von Datenbanken abzugleichen, und wie Sie die angegebene Sammlung in der Datenbank aktualisieren oder bearbeiten.

Verwandter Artikel - MongoDB Operator