require()를 사용하여 로컬 파일 로드
MongoDB 플레이그라운드에서require() 함수를 사용하여 로컬 파일의 코드를 포함할 수 있습니다. 코드를 단일 위치 에 저장 하고 다른 플레이그라운드에서 해당 코드를 재사용할 수 있습니다.
이 작업에 대하여
이 튜토리얼에서는 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
함수는 두 개의 샘플 문서에서 호출됩니다. 문서에 필수 필드 name
및 email
가 포함되어 있으면 해당 문서가 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");
결과
doc1
만 필수 필드를 모두 포함하며 컬렉션에 삽입됩니다. doc2
에 필수 필드 email
이(가) 포함되어 있지 않으며 삽입되지 않았습니다.
올바른 문서가 삽입되었는지 확인하려면 people
컬렉션을 쿼리합니다.
use mongodbVSCodePlaygroundDB db.people.find()
출력:
[ { _id: 1, name: 'Taylor', email: 't123@gmail.com' } ]