AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

require() を使用してローカルファイルを読み込む

MongoDB Playgrounds で require() 関数を使用して、ローカル ファイルのコードを含めることができます。コードを 1 つの場所に保存し、そのコードを別のプレイグラウンドで再利用できます。

このチュートリアルでは、require() を使用してローカルスクリプトを読み込む方法を説明します。また、require() を使用して、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関数は 2 つのサンプル ドキュメントで呼び出されます。 ドキュメントに必須フィールド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

Playground を実行するには、Playground ビューの右上隅にある ボタンを押します。VS Code拡張機能は Playground を分割し、Playground の結果を Playground Results ペインに出力します。分割ビューを無効にした場合、 VS Code拡張機能は Playground の結果を新しいタブに出力します。

必須 フィールドと コレクションに挿入されているフィールドの両方を含むのはdoc1のみです。 doc2には必須フィールドemailが含まれていないため、挿入されていません。

正しいドキュメントが挿入されたことを確認するには、 peopleコレクションをクエリします。

use mongodbVSCodePlaygroundDB
db.people.find()

出力:

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