Docs 菜单
Docs 主页
/
MongoDB for VS Code
/ /

使用 require() 加载本地文件

在此页面上

  • 关于此任务
  • 步骤
  • 结果
  • 了解详情

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

本教程介绍如何使用 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

以下 Playground 使用require() 来调用 中指定的validate_data validate.js函数。对两个样本文档调用validate_data函数。 如果文档包含必填字段nameemail ,则会将其插入到people集合中。

重要

使用validate.js文件的路径更新 Playground 的第一行:

// 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

要运行 Playground,请按下 Playground 视图右上角的 Play Button。VS Code 扩展会拆分 Playground 并在 Playground Results.json 窗格中输出 Playground 的结果。如果已禁用分割视图,VS Code 扩展将在新的标签页中输出 Playground 的结果。

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

要确认插入的文档正确,请查询people集合:

use mongodbVSCodePlaygroundDB
db.people.find()

输出:

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

后退

包含 Node.js 模块