Menu Docs

Página inicial do DocsVisualizar & analisar dadosMongoDB Shell

Usar trechos no console

Nesta página

  • Instalar pacotes de snippet
  • Executar um trecho
  • Desinstalar trechos
  • Encontre pacotes de trechos disponíveis
  • Obter informações do repositório
  • Obter ajuda para um snippet

Aviso

Esse recurso é experimental. O MongoDB não é compatível com snippets. Este recurso pode ser alterado ou removido a qualquer momento sem aviso prévio.

Bugs não são esperados, no entanto, se você encontrar um, abra uma ocorrência no repositório do GitHub para este projeto.

Esta página é uma visão geral de trabalhar com trechos no console mongosh .

Você deve instalar um pacote de snippet antes de usá-lo. Depois que um pacote de snippet é instalado, ele é carregado toda vez que o mongosh é iniciado.

Se você souber o nome do trecho que deseja instalar, digite:

snippet install <name>

Caso contrário, pesquise no repositório para obter uma lista dos trechos disponíveis.

snippet search

Após a instalação do trecho, insira y para carregá-lo.

Running install...
Installed new snippets analyze-schema. Do you want to load them now? [Y/n]: y
Finished installing snippets: analyze-schema

Observação

Se esta for a primeira vez que você usa snippets, poderá ver um aviso como o seguinte:

This operation requires downloading a recent release of npm. Do
you want to proceed? [Y/n]:

Você deve instalar o npm para usar snippets.

Antes de executar um novo snippet, execute snippet help <SNIPPET NAME> para saber mais sobre a funcionalidade do snippet.

Por exemplo, snippet help analyze-schema indica que você pode usar analyze-schema passando a ele um nome de coleção.

testDB> snippet help analyze-schema
# analyze-schema
Analyze the schema of a collection or a cursor.
```js
> schema(db.coll);
┌─────────┬───────┬───────────┬────────────┐
│ (index) │ 0 │ 1 │ 2 │
├─────────┼───────┼───────────┼────────────┤
│ 0 │ '_id' │ '100.0 %' │ 'ObjectID' │
│ 1 │ 'a ' │ '50.0 %' │ 'Number' │
│ 2 │ 'a ' │ '50.0 %' │ 'String' │
└─────────┴───────┴───────────┴────────────┘

Depois de saber como chamar um snippet, você pode usá-lo como no exemplo a seguir.

Considere a collection reservations:

db.reservations.insertMany( [
{"_id": 1001, "roomNum": 1, "reserved": true },
{"_id": 1002, "roomNum": 2, "reserved": true },
{"_id": 1003, "roomNum": 3, "reserved": "false" },
{"_id": 1004, "roomNum": 4, "reserved": true },
] )

Para analisar a coleção, instale o trecho analyze-schema se ele ainda não estiver presente, passe o nome da coleção para executá-la.

snippet install analyze-schema
schema(db.reservations)

O documento com "_id": 3 foi inserido incorretamente como uma string. A análise mostra que o campo reserved tem elementos de string além dos booleanos esperados.

┌─────────┬────────────┬───────────┬───────────┐
│ (index) │ 0 │ 1 │ 2 │
├─────────┼────────────┼───────────┼───────────┤
│ 0 │ '_id ' │ '100.0 %' │ 'Number' │
│ 1 │ 'reserved' │ '75.0 %' │ 'Boolean' │
│ 2 │ 'reserved' │ '25.0 %' │ 'String' │
│ 3 │ 'roomNum ' │ '100.0 %' │ 'Number' │
└─────────┴────────────┴───────────┴───────────┘

Utilize o comando snippet uninstall para remover um snippet. Se você não tiver certeza do nome, o comando snippet ls listará todos os snippets instalados.

Este código desinstala o trecho analyze-schema .

snippet uninstall analyze-schema

O comando snippet ls retorna uma lista de snippets instalados localmente junto com algumas informações de versão e origem.

snippets@ /root/.mongodb/mongosh/snippets
├── mongosh:PRIVATE..DecryptCards@1.0.5
├── mongosh:analyze-schema@1.0.5
└── npm@7.23.0

Para ver os trechos disponíveis no registro, primeiro refresh o cache de metadados local e, em seguida, search.

snippet refresh
snippet search

snippet search lista os snippets disponíveis, sua versão e fornece uma breve descrição.

Esta instância tem um segundo registro privado configurado. Como o registro privado foi listado primeiro, esses snippets precedem os snippets do MongoDB na lista de snippets disponíveis.

┌─────────┬─────────────────────────────────┬─────────┬────────────────────────────────────────────────────────────────┐
│ (index) │ name │ version │ description │
├─────────┼─────────────────────────────────┼─────────┼────────────────────────────────────────────────────────────────┤
0'PRIVATE..DecryptCards''1.0.5''Decrypt credit card numbers'
1'PRIVATE..updateAuthentication''1.0.2''Update user pwds and authentication'
2'resumetoken''1.0.2''Resume token decoder script'
3'mongocompat''1.0.7''mongo compatibility script for mongosh'
4'spawn-mongod''1.0.1''Spin up a local mongod process'
5'mock-collection''1.0.2''mockCollection([{ a: 1 }, { a: 2 }]).find({ a: { $gt: 2 } })'
6'analyze-schema''1.0.5''schema(db.coll)'
└─────────┴─────────────────────────────────┴─────────┴────────────────────────────────────────────────────────────────┘

Exibir a página inicial e o URL de cada repositório de trechos:

snippet info

A saída lista cada repositório.

Snippet repository URL: https://github.com/YOUR_COMPANY/YOUR_REPO_PATH/index.bson.br
--> Homepage: https://davemungo.github.io/mongosh-snippets/
Snippet repository URL: https://compass.mongodb.com/mongosh/snippets-index.bson.br
--> Homepage: https://github.com/mongodb-labs/mongosh-snippets

Cada snippet é único e tem sua própria interface. A melhor maneira de encontrar informações sobre como um determinado trecho funciona é visualizar seu arquivo README executando snippet help:

snippet help mongocompat

Este comando exibe o README arquivo para o mongocompat trecho no console mongosh .

# mongocompat
Provide `mongo` legacy shell compatibility APIs.
```js
> Array.sum([1, 2, 3])
6
> tojsononeline({a:1,b:2,c:3})
{ "a" : 1, "b" : 2, "c" : 3 }
```

Ao criar seus próprios pacotes de snippets, inclua um arquivo README.md que forneça ajuda útil.

← Trechos