Learn the "why" behind slow queries and how to fix them in our 2-Part Webinar.
Register now >
Docs Menu
Docs Home
/ /
/ / /

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 Extension splits your Playground and outputs the results of your Playground in the Playground Results ペインに出力します。分割ビューを無効にした場合、 VS Code拡張機能は Playground の結果を新しいタブに出力します。

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

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

use mongodbVSCodePlaygroundDB
db.people.find()

出力:

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

戻る

Node.jsモジュールの追加

項目一覧