文档菜单
文档首页
/
MongoDB for VS Code
/ /

使用require()加载本地文件

本页

  • 关于此任务
  • 步骤
  • 结果
  • 了解更多

你可以使用require() 函数在你的 MongoDB 演示场中包含来自本地文件代码。你可以将代码存储在一个位置,并在不同的演示场中重复使用该代码。

本教程展示了如何使用require() 加载本地脚本。您还可以使用 require() 加载 Node 模块,例如从 npm 下载的模块。有关更多信息,请参阅使用 require() 包含 Node.js 模块.

1

以下脚本文件验证文档以确保所需字段存在。将脚本保存到您的本地文件系统中的 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;
2

以下沙盒使用 require() 调用 validate.js 中指定的 validate_data 函数。在两个示例文档上调用 validate_data 函数。如果文档包含所需的字段 nameemail,则将其插入到 people 集合中。

重要

更新沙盒的第一行,以包含 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");
3

要运行您的沙箱,请按播放按钮位于沙箱视图的右上角。VS Code 扩展将沙箱拆分,并在沙箱结果.json面板中显示沙箱的结果。如果您已禁用拆分视图,VS Code 扩展在新的标签页中显示沙箱的结果。

只有doc1包含两个必需字段,并被插入到集合中。doc2不包含必需字段email,因此未被插入。

要确认正确地插入了文档,请查询people集合

use mongodbVSCodePlaygroundDB
db.people.find()

输出

[
{ _id: 1, name: 'Taylor', email: 't123@gmail.com' }
]

返回

包含Node.js模块