$indexOfArray - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$indexOfArray

El $indexOfArray operador de Amazon DocumentDB se utiliza para buscar el índice de la primera aparición de un elemento especificado en una matriz. Este operador devuelve la posición de índice basada en cero del primer elemento de la matriz que coincide con el valor especificado. Si no se encuentra el valor, devuelve -1.

Parámetros

  • array: La matriz que se va a buscar.

  • value: El valor que se va a buscar en la matriz.

  • start: (opcional) La posición de la matriz desde la que iniciar la búsqueda. El valor predeterminado es 0.

Ejemplo (MongoDB Shell)

En el siguiente ejemplo, se muestra cómo utilizar el indexOfArray operador $ para encontrar el índice de la primera aparición del elemento «mango» en la matriz «fruits» de cada documento.

Cree documentos de muestra

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

Ejemplo de consulta

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

Salida

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

Ejemplos de código

Para ver un ejemplo de código para usar el $indexOfArray comando, elija la pestaña del idioma que desee usar:

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()