$nor - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

$nor

O $nor operador é usado para combinar documentos em que nenhuma das condições de consulta especificadas é verdadeira. É semelhante à operação lógica “NOR”, em que o resultado é verdadeiro se nenhum dos operandos for verdadeiro.

Parâmetros

  • expression1: A primeira expressão a ser avaliada.

  • expression2: A segunda expressão a ser avaliada.

  • expressionN: Expressões adicionais para avaliar.

Exemplo (MongoDB Shell)

O exemplo a seguir demonstra o uso do $nor operador recuperando documentos em que o qty campo não é menor que 20 e o size campo não é igual a “XL”.

Crie documentos de amostra

db.items.insertMany([ { qty: 10, size: "M" }, { qty: 15, size: "XL" }, { qty: 25, size: "L" }, { qty: 30, size: "XL" } ])

Exemplo de consulta

db.items.find({ $nor: [ { qty: { $lt: 20 } }, { size: "XL" } ] })

Saída

[ { "_id" : ObjectId("..."), "qty" : 25, "size" : "L" } ]

Exemplos de código

Para ver um exemplo de código para usar o $nor comando, escolha a guia do idioma que você deseja usar:

Node.js
const { MongoClient } = require('mongodb'); async function example() { 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 collection = db.collection('items'); const result = await collection.find({ $nor: [ { qty: { $lt: 20 } }, { size: "XL" } ] }).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['items'] result = list(collection.find({ '$nor': [ { 'qty': { '$lt': 20 } }, { 'size': 'XL' } ] })) print(result) client.close() example()