$not - Amazon DocumentDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

$not

$not运算符用于否定给定表达式的结果。它允许您选择与指定条件不匹配的文档。

Planner 版本 2.0 增加了对$not {eq}和的索引支持$not {in}

参数

  • expression: 要否定的表达式。

示例(MongoDB 外壳)

以下示例演示如何使用$not运算符来查找status字段不等于 “active” 的文档。

创建示例文档

db.users.insertMany([ { name: "John", status: "active" }, { name: "Jane", status: "inactive" }, { name: "Bob", status: "pending" }, { name: "Alice", status: "active" } ]);

查询示例

db.users.find({ status: { $not: { $eq: "active" } } });

输出

[ { _id: ObjectId('...'), name: 'Jane', status: 'inactive' }, { _id: ObjectId('...'), name: 'Bob', status: 'pending' } ]

代码示例

要查看使用该$not命令的代码示例,请选择要使用的语言的选项卡:

Node.js
const { MongoClient, Filters } = require('mongodb'); async function main() { 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('users'); const result = await collection.find({ status: { $not: { $eq: "active" } } }).toArray(); console.log(result); await client.close(); } main();
Python
from pymongo import MongoClient from bson.son import SON 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['users'] result = collection.find({ "status": {"$not": {"$eq": "active"}} }) for doc in result: print(doc) client.close()