$nin - Amazon DocumentDB

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.

$nin

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 ($) und Punkt (.) in Feldnamen bei der Abfrage von Feldern mit $ Präfix $nin in verschachtelten Objekten finden Sie unter.

Beispiel (MongoDB Shell)

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

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'])