$pullAll - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

$pullAll

Amazon DocumentDB의 $pullAll 연산자는 배열 필드에서 지정된 값의 모든 인스턴스를 제거하는 데 사용됩니다. 이는 단일 작업으로 배열에서 여러 요소를 제거해야 하는 경우에 특히 유용합니다.

파라미터

  • field: 요소를 제거할 배열 필드의 이름입니다.

  • value: 배열 필드에서 제거할 값의 배열입니다.

예제(MongoDB 쉘)

다음 예제에서는 $pullAll 연산자를 사용하여 배열 필드에서 여러 요소를 제거하는 방법을 보여줍니다.

샘플 문서 생성

db.restaurants.insert([ { "name": "Taj Mahal", "cuisine": "Indian", "features": ["Private Dining", "Live Music"] }, { "name": "Golden Palace", "cuisine": "Chinese", "features": ["Private Dining", "Takeout"] }, { "name": "Olive Garden", "cuisine": "Italian", "features": ["Private Dining", "Outdoor Seating"] } ])

쿼리 예제

db.restaurants.update( { "name": "Taj Mahal" }, { $pullAll: { "features": ["Private Dining", "Live Music"] } } )

출력

{ "name": "Taj Mahal", "cuisine": "Indian", "features": [] }

코드 예제

$pullAll 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.

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('restaurants'); await collection.updateMany( { "name": "Taj Mahal" }, { $pullAll: { "features": ["Private Dining", "Live Music"] } } ); const updatedDocument = await collection.findOne({ "name": "Taj Mahal" }); console.log(updatedDocument); await client.close(); } main();
Python
from pymongo import MongoClient def main(): 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['restaurants'] collection.update_many( {"name": "Taj Mahal"}, {"$pullAll": {"features": ["Private Dining", "Live Music"]}} ) updated_document = collection.find_one({"name": "Taj Mahal"}) print(updated_document) client.close() if __name__ == '__main__': main()