Puedes utilizar el require() función en tus MongoDB Playgrounds para incluir código desde 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 utilizar require() para cargar scripts locales. También puedes usar require() para cargar módulos Node, como los descargados de npm. Para obtener más información, consulte
Utilice 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. VS Code Extension divide su Playground y muestra los resultados de su Playground en el Playground Results panel. Si desactivaste la vista dividida, VS Code Extension 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' } ]