

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# \$1nin
<a name="nin"></a>

Der `$nin` Operator wird verwendet, um Werte abzugleichen, die sich nicht im angegebenen Array befinden. Es ist die Umkehrung des `$in` Operators, der mit Werten übereinstimmt, die sich im angegebenen Array befinden.

Planner Version 2.0 fügte Indexunterstützung für `$nin` hinzu.

**Parameter**
+ `field`: Das zu überprüfende Feld.
+ `array`: Das Array von Werten, anhand dessen geprüft werden soll.

 

**Dollar (`$`) in Feldnamen**

Einschränkungen [Dollar (\$1) und Punkt (.) in Feldnamen](functional-differences.md#functional-differences-dollardot) bei der Abfrage von Feldern mit `$` Präfix `$nin` in verschachtelten Objekten finden Sie unter.

## Beispiel (MongoDB Shell)
<a name="nin-examples"></a>

Das folgende Beispiel zeigt, wie der `$nin` Operator verwendet wird, um Dokumente zu finden, bei denen das `category` Feld nicht „Fiction“ oder „Mystery“ entspricht.

**Erstellen Sie Beispieldokumente**

```
db.books.insertMany([
  { title: "The Great Gatsby", author: "F. Scott Fitzgerald", category: "Fiction" },
  { title: "To Kill a Mockingbird", author: "Harper Lee", category: "Fiction" },
  { title: "The Girl on the Train", author: "Paula Hawkins", category: "Mystery" },
  { title: "The Martian", author: "Andy Weir", category: "Science Fiction" },
  { title: "The Alchemist", author: "Paulo Coelho", category: "Philosophy" }
])
```

**Beispiel für eine Abfrage**

```
db.books.find({
  category: {
    $nin: ["Fiction", "Mystery"]
  }
})
```

**Ausgabe**

```
[
  {
    _id: ObjectId('...'),
    title: 'The Martian',
    author: 'Andy Weir',
    category: 'Science Fiction'
  },
  {
    _id: ObjectId('...'),
    title: 'The Alchemist',
    author: 'Paulo Coelho',
    category: 'Philosophy'
  }
]
```

## Codebeispiele
<a name="nin-code"></a>

Um ein Codebeispiel für die Verwendung des `$nin` Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

------
#### [ Node.js ]

```
const { MongoClient } = require('mongodb');

async function findBooksNotInCategories(categories) {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const books = await db.collection('books').find({
    category: {
      $nin: categories
    }
  }).toArray();
  console.log(books);
  client.close();
}

findBooksNotInCategories(['Fiction', 'Mystery']);
```

------
#### [ Python ]

```
from pymongo import MongoClient

def find_books_not_in_categories(categories):
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client['test']
    books = list(db.books.find({
        'category': {
            '$nin': categories
        }
    }))
    print(books)
    client.close()

find_books_not_in_categories(['Fiction', 'Mystery'])
```

------