Puedes utilizar la función require() en tus MongoDB Playgrounds para incluir código de archivos locales. Puede guardar su código en una sola ubicación y reutilizar dicho código en diferentes campos de prueba.
Acerca de esta tarea
Este tutorial muestra cómo usar require() para cargar scripts locales. También puedes utilizar require() para cargar módulos de Node, como los descargados desde npm. Para obtener más información, consulta Usa require() para incluir módulos de Node.js.
Pasos
Crea un archivo de script
El siguiente archivo de script valida los documentos para garantizar que los campos requeridos estén presentes. Guarde el script en su sistema de archivos local como validate.js:
// validate.js const required_fields = [ 'name', 'email' ] const validate_data = (document) => { let is_valid = true; for (const field of required_fields) { if (document[field] == null) { is_valid = false; } }; return is_valid; }; module.exports = validate_data;
Crea un playground que utilice el script de validación
El siguiente playground utiliza require() para llamar a la función validate_data especificada en validate.js. La función validate_data se llama en dos documentos de muestra. Si el documento contiene los campos requeridos name y email, se inserta en la colección people.
Importante
Actualiza la primera línea del playground con la ruta al archivo validate.js:
// playground-1.mongodb.js const validate = require('/path/to/validate.js'); use('mongodbVSCodePlaygroundDB'); const doc1 = { _id: 1, 'name': 'Taylor', 'email': 't123@gmail.com' }; const doc2 = { _id: 2, 'name': 'Taylor' }; const docs = [ doc1, doc2 ]; let inserted_count = 0; for (const doc of docs) { if (validate(doc)) { db.getCollection('people').insertOne(doc); inserted_count++; } }; console.log("Inserted " + inserted_count + " documents");
Ejecuta el playground
Para ejecutar tu Playground, pulsa el botón en la esquina superior derecha de la Vista del Playground. La extensión VS Code divide tu Playground y muestra los resultados de tu Playground en el panel Playground Results. Si has deshabilitado la vista de división, la Extensión de VS Code muestra los resultados de tu Playground en una nueva pestaña.
Resultados
Solo doc1 contiene ambos campos requeridos y se inserta en la colección. doc2 no contiene el campo obligatorio email y no se inserta.
Para confirmar que el documento correcto se haya insertado, query la colección people:
use mongodbVSCodePlaygroundDB db.people.find()
Salida:
[ { _id: 1, name: 'Taylor', email: 't123@gmail.com' } ]