Showing
1 changed file
with
29 additions
and
10 deletions
... | @@ -6,20 +6,32 @@ var logger = require('morgan'); | ... | @@ -6,20 +6,32 @@ var logger = require('morgan'); |
6 | var app = express(); | 6 | var app = express(); |
7 | const mongodb = require('mongodb'); | 7 | const mongodb = require('mongodb'); |
8 | const MongoClient = mongodb.MongoClient; | 8 | const MongoClient = mongodb.MongoClient; |
9 | + | ||
9 | const url = 'mongodb+srv://hellowhales:qogudtjr`12@cluster0.7gz7l.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'; | 10 | const url = 'mongodb+srv://hellowhales:qogudtjr`12@cluster0.7gz7l.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'; |
10 | 11 | ||
12 | +let db; | ||
13 | + | ||
14 | +app.use(express.urlencoded({ extended: true })) | ||
15 | + | ||
11 | // 터미널창 연결방법 mongo 'mongodb+srv://hellowhales:qogudtjr`12@cluster0.7gz7l.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'; | 16 | // 터미널창 연결방법 mongo 'mongodb+srv://hellowhales:qogudtjr`12@cluster0.7gz7l.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'; |
12 | // db.festivals.find({"title":"가무악극으로 만나는 토요 상설공연"}) 검색방법 | 17 | // db.festivals.find({"title":"가무악극으로 만나는 토요 상설공연"}) 검색방법 |
13 | 18 | ||
14 | -MongoClient.connect(url) //서버 열때 mongodb와 연결시키기 | 19 | +MongoClient.connect(url, (error, client) => { // 서버열때 url 사용 mongoDB와 연결시키기 |
15 | - .then(client => { | 20 | + if (error) return console.log(error); |
16 | - console.log('mongo connected'); | 21 | + db = client.db('myFirstDatabase'); // 클러스터의 데이터베이스를 db변수에 저장 |
17 | - console.log(client); | 22 | + app.listen(3001, () => { |
18 | - }) | 23 | + console.log('3001 port on'); |
19 | - .then(app.listen(3000, () => { | 24 | + }); |
20 | - console.log('3000 port on'); | 25 | +}); |
21 | - })) | 26 | + |
22 | - .catch(err => console.log(err)); | 27 | +app.get('/festivalList', (req, res) => { // localhost:3000/festivalList 입력하면 list.ejs에 저장한 형식대로 정보 불러와짐 |
28 | + //디비에 저장된 festivals 라는 collection안의 데이터(제목 또는 내용 등)를 꺼내기 | ||
29 | + db.collection('festivals').find().toArray((err, rslt) => { //DB에서 데이터를 찾음 festivals라는 collection안의 데이터를 꺼내게 됨 | ||
30 | + console.log(rslt); | ||
31 | + res.render('list.ejs', { posts: rslt }); // 찾은 데이터를 ejs 파일에 넣음 | ||
32 | + }); | ||
33 | +}); | ||
34 | + | ||
23 | 35 | ||
24 | var indexRouter = require('./routes/index'); | 36 | var indexRouter = require('./routes/index'); |
25 | var usersRouter = require('./routes/users'); | 37 | var usersRouter = require('./routes/users'); |
... | @@ -29,7 +41,7 @@ var usersRouter = require('./routes/users'); | ... | @@ -29,7 +41,7 @@ var usersRouter = require('./routes/users'); |
29 | // view engine setup | 41 | // view engine setup |
30 | 42 | ||
31 | app.set('views', path.join(__dirname, 'views')); | 43 | app.set('views', path.join(__dirname, 'views')); |
32 | -app.set('view engine', 'ejs'); | 44 | +app.set('view engine', 'ejs'); // express에서 view엔진을 ejs로 설정하는과정 |
33 | 45 | ||
34 | 46 | ||
35 | 47 | ||
... | @@ -58,12 +70,19 @@ app.use(function (err, req, res, next) { | ... | @@ -58,12 +70,19 @@ app.use(function (err, req, res, next) { |
58 | res.render('error'); | 70 | res.render('error'); |
59 | }); | 71 | }); |
60 | 72 | ||
73 | + | ||
74 | + | ||
75 | +/* | ||
76 | + | ||
61 | app.get('*', function (req, res) { | 77 | app.get('*', function (req, res) { |
78 | + | ||
62 | //DB에서 json형태의 데이터를 유저가 접속하자마자 바로 불러와서 frontend에 뿌려주기 | 79 | //DB에서 json형태의 데이터를 유저가 접속하자마자 바로 불러와서 frontend에 뿌려주기 |
63 | // 렌더링할 때 frontend로 변수 뿌려주기 | 80 | // 렌더링할 때 frontend로 변수 뿌려주기 |
64 | res.render("asd.html"); | 81 | res.render("asd.html"); |
65 | 82 | ||
66 | }); | 83 | }); |
84 | +*/ | ||
85 | + | ||
67 | 86 | ||
68 | module.exports = app; | 87 | module.exports = app; |
69 | 88 | ... | ... |
-
Please register or login to post a comment