$push - Amazon DocumentDB

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

$push

Amazon DocumentDB 中的$push運算子用於將項目新增至文件中的陣列欄位。當您需要將新資料附加至現有陣列而不覆寫整個陣列時,此運算子特別有用。

參數

  • field:應新增新元素的陣列欄位名稱。

  • value:要新增至陣列的值。

  • position:(選用) 修飾詞,指定在陣列中應新增新元素的位置。支援的修飾詞包括 $(新增至陣列結尾) 和 $[](新增至陣列結尾,忽略任何陣列篩選條件)。

範例 (MongoDB Shell)

下列範例示範如何使用 $push運算子將新元素新增至文件中的陣列欄位。

建立範例文件

db.users.insert([ { _id: 1, name: "John Doe", hobbies: ["reading", "swimming"] }, { _id: 2, name: "Jane Smith", hobbies: ["gardening", "cooking"] } ])

查詢範例

db.users.updateOne( { _id: 1 }, { $push: { hobbies: "hiking" } } )

輸出

{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

執行更新後,具有 的文件_id: 1會將hobbies陣列更新為 ["reading", "swimming", "hiking"]

程式碼範例

若要檢視使用 $push命令的程式碼範例,請選擇您要使用的語言標籤:

Node.js
const { MongoClient } = require('mongodb'); async function updateDocument() { 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.updateOne( { _id: 1 }, { $push: { hobbies: "hiking" } } ); console.log(result); client.close(); } updateDocument();
Python
from pymongo import MongoClient def update_document(): 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.update_one( {'_id': 1}, {'$push': {'hobbies': 'hiking'}} ) print(result.raw_result) client.close() update_document()