$bit - Amazon DocumentDB

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

$bit

Amazon DocumentDB 中的运$bit算符允许您对给定字段的位执行按位运算。这对于设置、清除或检查数字中各个位的状态之类的任务很有用。

参数

  • field:要对其执行按位运算的字段。

  • and:用于对字段执行按位与运算的整数值。

  • or:用于对字段执行按位或运算的整数值。

  • xor:用于对字段执行按位异或运算的整数值。

示例(MongoDB 外壳)

以下示例演示如何使用$bit运算符对数值字段执行按位运算。

创建示例文档

db.numbers.insert([ { "_id": 1, "number": 5 }, { "_id": 2, "number": 12 } ])

查询示例

db.numbers.update( { "_id": 1 }, { "$bit": { "number": { "and": 3 } } } )

输出

{ "_id": 1, "number": 1 }

在此示例中,$bit运算符用于对文档的 “数字” 字段执行按位与运算,其值为 1。_id结果是 “数字” 字段的值设置为 1,这是在原始值 5 和值 3 之间按位运算的结果。

代码示例

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

Node.js
const { MongoClient } = 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('numbers'); await collection.updateOne( { "_id": 1 }, { "$bit": { "number": { "and": 3 } } } ); const result = await collection.findOne({ "_id": 1 }); console.log(result); await client.close(); } main();
Python
from pymongo import MongoClient 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['numbers'] collection.update_one( {"_id": 1}, {"$bit": {"number": {"and": 3}}} ) result = collection.find_one({"_id": 1}) print(result) client.close()