Puedes utilizar el Funciónrequire() en tus Playgrounds de MongoDB para incluir código de archivos locales. Puedes almacenar tu código en una sola ubicación y reutilizarlo en diferentes Playgrounds.
Acerca de esta tarea
Este tutorial muestra cómo utilizar require() para cargar scripts locales. También puede usar require() para cargar módulos de Node, como los descargados de npm. Para más información, consulte
Utilice require() para incluir módulos Node.js.
Pasos
Crear un archivo de script
El siguiente archivo de script valida los documentos para garantizar que contengan los campos obligatorios. 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;
Crear un patio de juegos que utilice el script de validación
El siguiente entorno de juego 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 ejemplo. Si el documento contiene los campos obligatorios name y email, se inserta en la colección people.
Importante
Actualice la primera línea del área de juegos 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");
Dirige el patio de recreo
Para ejecutar tu Playground, presiona el botón Play Button En la esquina superior derecha de la vista de Playground, la extensión de VS Code divide el Playground y muestra los resultados en el panel Playground Results.json. Si desactivó la vista dividida, la extensión de VS Code muestra los resultados en una nueva pestaña.
Resultados
Solo doc1 contiene ambos campos obligatorios y se inserta en la colección. doc2 no contiene el campo obligatorio email y no se inserta.
Para confirmar que se insertó el documento correcto, consulte la colección people:
use mongodbVSCodePlaygroundDB db.people.find()
Salida:
[ { _id: 1, name: 'Taylor', email: 't123@gmail.com' } ]