

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.

# \$1indexOfArray
<a name="indexOfArray"></a>

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)
<a name="indexOfArray-examples"></a>

En el siguiente ejemplo, se muestra cómo utilizar el indexOfArray operador \$1 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
<a name="indexOfArray-code"></a>

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

------