$indexOfArray - Amazon DocumentDB

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

$indexOfArray

$indexOfArrayOperator di Amazon DocumentDB digunakan untuk menemukan indeks kemunculan pertama elemen tertentu dalam array. Operator ini mengembalikan posisi indeks berbasis nol dari elemen pertama dalam array yang cocok dengan nilai yang ditentukan. Jika nilai tidak ditemukan, ia mengembalikan -1.

Parameter

  • array: Array untuk mencari.

  • value: Nilai untuk mencari dalam array.

  • start: (opsional) Posisi dalam array untuk memulai pencarian dari. Nilai default-nya adalah 0.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan bagaimana menggunakan indexOfArray operator $ untuk menemukan indeks kemunculan pertama elemen “mangga” dalam array “buah” untuk setiap dokumen.

Buat dokumen sampel

db.collection.insertMany([ { _id: 1, fruits: ["apple", "banana", "cherry", "durian"] }, { _id: 2, fruits: ["mango", "orange", "pineapple"] }, { _id: 3, fruits: ["kiwi", "lemon", "mango"] } ]);

Contoh kueri

db.collection.aggregate([ { $project: { _id: 1, fruitIndex: { $indexOfArray: ["$fruits", "mango"] } } } ]);

Keluaran

{ "_id" : 1, "fruitIndex" : 1 } { "_id" : 2, "fruitIndex" : 0 } { "_id" : 3, "fruitIndex" : 2 }

Contoh kode

Untuk melihat contoh kode untuk menggunakan $indexOfArray 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: { _id: 1, fruitIndex: { $indexOfArray: ["$fruits", "mango"] } } } ]).toArray(); console.log(result); 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': { '_id': 1, 'fruitIndex': { '$indexOfArray': ["$fruits", "mango"] } } } ])) print(result) client.close() example()