Importante
Uma descrição completa do Node.js, dos módulos e da função require() está fora do escopo deste tutorial. Para saber mais, consulte a Documentação da Node.js.
Para utilizar arquivos e módulos em suas interações do mongosh, utilize a função require().
Em seus scripts do mongosh, você pode exigir:
- Arquivos locais 
- Módulos Node.js integrados 
- External (npm) Node.js modules 
Exigir um arquivo local
Você pode utilizar arquivos JavaScript em scripts do mongosh sem qualquer configuração adicional.
Observação
mongosh não executa arquivos importados com require(). Em vez disso, o mongosh adiciona tudo de um arquivo importado ao escopo de execução atual.
Exemplo
Para incluir um arquivo denominado test.js localizado no diretório de trabalho atual, use um dos seguintes comandos:
require('./tests.js') 
var tests = require('./tests.js') 
Exigir um módulo integrado
Você pode exigir módulos Node.js integrados (como fs) no mongosh sem nenhuma configuração extra.
Exemplo
O exemplo seguinte cria e executa um script que:
- Conecta a uma implantação local em execução na porta padrão. 
- Preenche a coleção - myDatabase.employeescom dados de amostra.
- Utiliza o módulo - fspara escrever um documento da coleção- myDatabase.employeespara um arquivo denominado- employee.json.
- Crie um arquivo denominado - employee-to-text-file.jscom o seguinte conteúdo:- const fs = require('fs'); - db = connect('mongodb://localhost/myDatabase'); - db.employees.insertMany( [ - { "name": "Alice", "department": "engineering" }, - { "name": "Bob", "department": "sales" }, - { "name": "Carol", "department": "finance" } - ] ) - const document = db.employees.findOne(); - fs.writeFileSync('employee.json', JSON.stringify(document)); 
- Para carregar e executar o arquivo - employee-to-text-file.js, execute o seguinte comando do- mongosh:- load("employee-to-text-file.js") 
- Para confirmar que os dados foram gravados no arquivo, abra o arquivo - employee.json.
Exigir um módulo npm
Você pode exigir módulos .js nó (como os baixados do npm). Para usar módulos externos, você deve instalar os módulos:
- Globalmente 
- No diretório - node_modulesem seu diretório de trabalho atual.
Existem dois padrões de embalagem para módulos Node.js.
| Padrão de Embalagem | Funciona com require() | 
|---|---|
| 
 | Sim | 
| 
 | No | 
Não é possível require() um módulo ES em mongosh. Se você deseja usar a funcionalidade de um módulo ES, verifique se há uma versão CommonJS que você pode usar. Para mais informações, veja:
Dica
Você pode exigir módulos npm remotos usando esta construção:
const localRequire = require('module').createRequire(__filename); 
Para ver um exemplo, consulte index.js no snippet resumetoken.
Exemplo
Importante
Para executar este exemplo, você deve instalar o módulo date-fns globalmente ou no diretório node_modules no diretório de trabalho atual.
O exemplo seguinte cria e executa um script que:
- Conecta a uma implantação local em execução na porta padrão. 
- Preenche a coleção - myDatabase.cakeSalescom dados de amostra.
- Utiliza o módulo date-fns para formatar datas. 
- Crie um arquivo denominado - date-fns-formatting.jscom o seguinte conteúdo:- const formatDistance = require('date-fns/formatDistance') - db = connect('mongodb://localhost/myDatabase'); - db.cakeSales.insertMany( [ - { _id: 0, type: "chocolate", orderDate: new Date("2020-05-18T14:10:30Z"), - state: "CA", price: 13, quantity: 120 }, - { _id: 1, type: "chocolate", orderDate: new Date("2021-03-20T11:30:05Z"), - state: "WA", price: 14, quantity: 140 }, - { _id: 2, type: "vanilla", orderDate: new Date("2021-01-11T06:31:15Z"), - state: "CA", price: 12, quantity: 145 }, - { _id: 3, type: "vanilla", orderDate: new Date("2020-02-08T13:13:23Z"), - state: "WA", price: 13, quantity: 104 }, - { _id: 4, type: "strawberry", orderDate: new Date("2019-05-18T16:09:01Z"), - state: "CA", price: 41, quantity: 162 }, - { _id: 5, type: "strawberry", orderDate: new Date("2019-01-08T06:12:03Z"), - state: "WA", price: 43, quantity: 134 } - ] ) - const saleDate0 = db.cakeSales.findOne( { _id: 0 } ).orderDate - const saleDate1 = db.cakeSales.findOne( { _id: 1 } ).orderDate - const saleDateDistance0 = formatDistance(saleDate0, new Date(), { addSuffix: true }) - const saleDateDistance1 = formatDistance(saleDate1, new Date(), { addSuffix: true }) - print("{ _id: 0 } orderDate was " + saleDateDistance0) - print("{ _id: 1 } orderDate was " + saleDateDistance1) 
- Para carregar e executar o arquivo - date-fns-formatting.js, execute o seguinte comando do- mongosh:- load("date-fns-formatting.js") - mongoshproduz algo como o seguinte:- { _id: 0 } orderDate was over 1 year ago - { _id: 1 } orderDate was 7 months ago - Sua saída pode variar dependendo da data em que você executar o exemplo.