

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# \$1slice
<a name="slice-projection"></a>

O operador `$slice` de projeção limita o número de elementos da matriz retornados em um resultado de consulta. Ele permite que você recupere um número específico de elementos do início ou do final de um campo de matriz sem carregar a matriz inteira.

**Parâmetros**
+ `field`: O campo de matriz a ser projetado.
+ `count`: Número de elementos a serem retornados. Valores positivos retornam elementos do início, valores negativos do final.

## Exemplo (MongoDB Shell)
<a name="slice-projection-examples"></a>

O exemplo a seguir demonstra como usar o operador de `$slice` projeção para retornar somente os dois primeiros itens de um campo de matriz.

**Crie documentos de amostra**

```
db.inventory.insertMany([
  { _id: 1, item: "notebook", tags: ["office", "school", "supplies", "writing"] },
  { _id: 2, item: "pen", tags: ["office", "writing"] },
  { _id: 3, item: "folder", tags: ["office", "supplies", "storage", "organization"] }
]);
```

**Exemplo de consulta**

```
db.inventory.find(
  {},
  { item: 1, tags: { $slice: 2 } }
)
```

**Saída**

```
{ "_id" : 1, "item" : "notebook", "tags" : [ "office", "school" ] }
{ "_id" : 2, "item" : "pen", "tags" : [ "office", "writing" ] }
{ "_id" : 3, "item" : "folder", "tags" : [ "office", "supplies" ] }
```

## Exemplos de código
<a name="slice-projection-code"></a>

Para ver um exemplo de código para usar o operador de `$slice` projeção, escolha a guia do idioma que você deseja 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('inventory');

  const result = await collection.find(
    {},
    { projection: { item: 1, tags: { $slice: 2 } } }
  ).toArray();

  console.log(JSON.stringify(result, null, 2));
  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['inventory']

    result = list(collection.find(
        {},
        {'item': 1, 'tags': {'$slice': 2}}
    ))

    print(result)
    client.close()

example()
```

------