本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
$unset
Amazon DocumentDB 中的$unset運算子用於從文件中移除指定的欄位。使用 移除欄位時$unset,會從文件中刪除欄位,並相應地減少文件大小。當您想要從文件中移除不必要的資料時,這會很有用。
參數
範例 (MongoDB Shell)
下列範例示範如何使用 $unset運算子,從example集合中的文件移除 Words 欄位。
建立範例文件
db.example.insert({
"DocName": "Document 1",
"Date": {
"Month": 4,
"Day": 18,
"Year": 1987,
"DoW": "Saturday"
},
"Words": 2482
})
查詢範例
db.example.update(
{ "DocName" : "Document 1" },
{ $unset: { Words:1 } }
)
輸出
{
"DocName": "Document 1",
"Date": {
"Month": 4,
"Day": 18,
"Year": 1987,
"DoW": "Saturday"
}
}
在此範例中,運算$unset子用於從DocName等於「文件 1」的文件中移除 Words 欄位。產生的文件不再包含 Words 欄位。
程式碼範例
若要檢視使用 $unset命令的程式碼範例,請選擇您要使用的語言標籤:
- Node.js
-
const { MongoClient } = require('mongodb');
async function removeField() {
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('example');
const result = await collection.updateOne(
{ "DocName": "Document 1" },
{ $unset: { "Words": 1 } }
);
console.log(`Modified ${result.modifiedCount} document(s)`);
client.close();
}
removeField();
- Python
-
from pymongo import MongoClient
def remove_field():
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['example']
result = collection.update_one(
{"DocName": "Document 1"},
{"$unset": {"Words": 1}}
)
print(f"Modified {result.modified_count} document(s)")
client.close()
remove_field()