$map - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

$map

$mapOperator di Amazon DocumentDB memungkinkan Anda menerapkan ekspresi tertentu ke setiap elemen dalam array dan mengembalikan array baru dengan elemen yang diubah. Operator ini sangat berguna untuk memanipulasi dan mengubah data dalam array, yang dapat membantu menyederhanakan kode aplikasi Anda dan meningkatkan kinerja kueri dengan mendorong pemrosesan array ke tingkat database.

Parameter

  • input: Array yang akan diubah.

  • as: (opsional) Nama variabel yang akan digunakan dalam ekspresi in untuk mewakili elemen saat ini sedang diproses.

  • in: Ekspresi yang akan diterapkan untuk setiap elemen dalam array input.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan bagaimana menggunakan operator $map untuk mengubah array angka, menggandakan setiap nilai.

Buat dokumen sampel

db.collection.insertMany([ { _id: 1, numbers: [1, 2, 3, 4, 5] }, { _id: 2, numbers: [10, 20, 30, 40, 50] } ])

Contoh kueri

db.collection.aggregate([ { $project: { doubledNumbers: { $map: { input: "$numbers", as: "num", in: { $multiply: ["$$num", 2] } } } } } ])

Keluaran

[ { _id: 1, doubledNumbers: [2, 4, 6, 8, 10] }, { _id: 2, doubledNumbers: [20, 40, 60, 80, 100] } ]

Contoh kode

Untuk melihat contoh kode untuk menggunakan $map perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

Node.js
const { MongoClient } = require('mongodb'); async function example() { 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('collection'); const result = await collection.aggregate([ { $project: { doubledNumbers: { $map: { input: "$numbers", as: "num", in: { $multiply: ["$$num", 2] } } } } } ]).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient def example(): 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.collection result = list(collection.aggregate([ { '$project': { 'doubledNumbers': { '$map': { 'input': '$numbers', 'as': 'num', 'in': { '$multiply': ['$$num', 2] } } } } } ])) print(result) client.close() example()