$nin - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$nin

L'$ninopérateur est utilisé pour faire correspondre des valeurs qui ne figurent pas dans le tableau spécifié. Il s'agit de l'inverse de l'$inopérateur, qui correspond aux valeurs figurant dans le tableau spécifié.

La version 2.0 du planificateur a ajouté le support des index pour$nin.

Paramètres

  • field: Le champ à vérifier.

  • array: le tableau de valeurs à comparer.

 

Dollar ($) dans les noms de champs

Consultez Dollar ($) et point (.) dans les noms de champs les limites relatives à l'interrogation de champs $ préfixés $nin dans des objets imbriqués.

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$ninopérateur pour rechercher des documents dont le category champ n'est pas égal à « Fiction » ou « Mystère ».

Création d'exemples de documents

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" } ])

Exemple de requête

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

Sortie

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

Exemples de code

Pour afficher un exemple de code d'utilisation de la $nin commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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