对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

使用 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 视图右上角的按钮。VS Code扩展会拆分 Playground 并在 Playground Results 窗格中输出 Playground 的结果。如果禁用了分割视图, VS Code Extension 则会在新的标签页中输出 Playground 的结果。

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

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

use mongodbVSCodePlaygroundDB
db.people.find()

输出:

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