[HTML5]MongoDB 테스트 데이터 생성 스크립트
*알립니다. 아래의 스크립트는 가상의 테스트 데이터 생성 스크립트입니다.
작성자 본인의 기록용입니다.
[테스트 데이터 스키마]
DB명 |
gallery |
Collection명 | card |
카드아이디 | _id |
링크 | link |
카드이미지{섬네일{파일, 설명, 타입}} | image{thumbnail{file,desc,type}} |
카드명 | name |
타입 | type |
카드상세 | desc |
관련글 | relative |
등록시간 | regDate |
1. 프로젝트 폴더내에 db.js 파일 생성하여 아래의 테스트 데이터 작성
2. 우클릭 - Run As - Node Application으로 실행하여 데이터 생성
var MongoClient = require('mongodb').MongoClient;
var ObjectId = require('mongodb').ObjectID;
var clog = require("clog");
clog.configure({"log level": 3});
//{'log': true, 'info': true, 'warn': true, 'error': true, 'debug': true}
MongoClient.connect('mongodb://localhost:27017/gallery', function(err,galleryDB){
if(err){
clog.error("DB 접속 에러."+err);
}else{
clog.info("DB 접속 성공.");
db = galleryDB;
initCollection();
}
});
function initCollection(){
// 현재 DB 삭제
db.command({dropDatabase: 1}, function(err){
clog.info("gallery DB 삭제.");
});
// gallery collection 생성
db.createCollection("card", function(err, card){
db.card = card;
clog.info("card 컬렉션 생성.");
// 1. 카드 데이터(임시) 등록
registCard();
});
}
function registCard(){
cardObjId = [];
for(var i=0; i<7; i++){
cardObjId[i] = new ObjectId();
}
now = new Date();
var cards = [
{
_id: cardObjId[0],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Jellyfish.jpg", desc: "test", type:"img"}},
name: "좋아보이는 UX 연구 1번",
type: "mobile",
desc:"DB에 있는 카드 desc1입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate: new Date(now*1-1000*60*60*24*30)
},
{
_id: cardObjId[1],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Desert.jpg", desc: "test", type:"img"}},
name: "Brand New 연구 1번",
type: "web",
desc:"DB에 있는 카드 desc2입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate: new Date(now*1-1000*60*60*24*10)
},
{
_id: cardObjId[2],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Koala.jpg", desc: "test", type:"img"}},
name: "좋아보이는 UX 연구 2번",
type: "mobile",
desc:"DB에 있는 카드 desc3입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate: new Date(now*1-1000*60*60*24*5)
},
{
_id: cardObjId[3],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Lighthouse.jpg", desc: "test", type:"img"}},
name: "협업툴 연구 1번",
type: "web",
desc:"DB에 있는 카드 desc4입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate: new Date(now*1-1000*60*60*24*3)
},
{
_id: cardObjId[4],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Tulips.jpg", desc: "test", type:"img"}},
name: "좋아보이는 연구 3번",
type: "mobile",
desc:"DB에 있는 카드 desc5입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate: new Date(now*1-1000*60*60*24*2)
},
{
_id: cardObjId[5],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Penguins.jpg", desc: "test", type:"img"}},
name: "협업툴 연구 2번",
type: "windows",
desc:"DB에 있는 카드 desc6입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate: new Date(now*1-1000*60*60*24*1)
},
{
_id: cardObjId[6],
link: "http://www.naver.com",
image: {thumbnail: {file: "card/Wildlife.mp4", desc: "test", type:"mov"}},
name: "Brand New 연구 3번",
type: "web",
desc:"DB에 있는 카드 desc7입니다. 이런저런 테스트를 진행중입니다. 얼마나 길게 쓸 수 있을 까요? ",
relative: "http://www.naver.com",
regDate:new Date()
}
];
// 2. 카드 데이터 등록 완료 시 업체 데이터 등록
db.card.insert(cards, findCard);
clog.info("1. 카드 등록 완료.");
}
//모든 카드명을 출력한다.
function findCard(){
db.card.find({}, {_id: 0, name: 1, regDate: 1}).toArray(function(err, result){
clog.info(result);
clog.info("2. 카드 " + result.length + "건 조회됨.");
});
}
'Development > WEB' 카테고리의 다른 글
HTML5 기초 (0) | 2017.09.07 |
---|---|
MongoDB에서 데이터 가져와서 template 뷰와 바인딩 (0) | 2017.03.06 |
ejs-locals 모듈로 head, header, layout, footer 구성하기 (0) | 2017.02.20 |
mongodb client로 연결, db데이터 (0) | 2017.02.14 |
express, ejs, nodemon 설치, Hello express (0) | 2017.02.13 |