Toggle navigation
Toggle navigation
This project
Loading...
Sign in
LI WENHAO
/
TFT
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Jungmin Park
2021-11-23 02:42:59 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
e069eae3e7ba4f84629f1cfca83fc4c83d792f6b
e069eae3
1 parent
9f12dd86
Link MongoDB Atlas&Node.js
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
110 deletions
app.js
app.js
View file @
e069eae
...
...
@@ -3,18 +3,28 @@ var express = require('express');
var
path
=
require
(
'path'
);
var
cookieParser
=
require
(
'cookie-parser'
);
var
logger
=
require
(
'morgan'
);
mongoose
.
connect
(
'mongodb://root:root@localhost:27017/travelDB'
,
{
dbName
:
'travelDB'
,
useNewUrlParser
:
true
,
useUnifiedTopology
:
true
});
// node앱을 mongoDB에 연결
//mongoDB express를 실행했을 때, username = root, password = root, Database = travelDB를 입력해서 연결 가능
var
app
=
express
();
const
mongodb
=
require
(
'mongodb'
);
const
MongoClient
=
mongodb
.
MongoClient
;
const
url
=
'mongodb+srv://hellowhales:qogudtjr`12@cluster0.7gz7l.mongodb.net/myFirstDatabase?retryWrites=true&w=majority'
;
// 터미널창 연결방법 mongo 'mongodb+srv://hellowhales:qogudtjr`12@cluster0.7gz7l.mongodb.net/myFirstDatabase?retryWrites=true&w=majority';
// db.festivals.find({"title":"가무악극으로 만나는 토요 상설공연"}) 검색방법
MongoClient
.
connect
(
url
)
//서버 열때 mongodb와 연결시키기
.
then
(
client
=>
{
console
.
log
(
'mongo connected'
);
console
.
log
(
client
);
})
.
then
(
app
.
listen
(
3000
,
()
=>
{
console
.
log
(
'3000 port on'
);
}))
.
catch
(
err
=>
console
.
log
(
err
));
var
indexRouter
=
require
(
'./routes/index'
);
var
usersRouter
=
require
(
'./routes/users'
);
var
app
=
express
();
// view engine setup
...
...
@@ -22,108 +32,6 @@ app.set('views', path.join(__dirname, 'views'));
app
.
set
(
'view engine'
,
'ejs'
);
var
TravelSchema
=
mongoose
.
Schema
({
//Travel이라는 스키마 생성(javascript 객체 생성자와 유사)
name
:
String
,
address
:
String
,
weather
:
String
,
date
:
String
,
url
:
String
,
pos
:
String
});
const
toTravel
=
mongoose
.
model
(
'Travel'
,
TravelSchema
);
// 스키마를 model로 정의 -> collection 명칭을 mongoose에서는 단수로 사용하지만
// mongodb에 저장될 때에는 복수 + 소문자로 저장됨 여기선 travels로 저장되므로 db.travels라고 호출해야 정상적인 값 얻기 가능
// db.travels.find()처럼 사용
var
JeonJu
=
new
toTravel
({
name
:
'전주 한옥마을'
,
address
:
'전라북도 전주시 완산구 풍남동3가 기린대로 99'
,
weather
:
'맑음'
,
date
:
'2021-11-14'
});
var
HongDae
=
new
toTravel
({
name
:
'서울 홍대거리'
,
address
:
'서울특별시 마포구 와우산로 94(상수동) 홍익대학교'
,
weather
:
'흐림'
,
date
:
'2021-11-15'
});
var
Busan
=
new
toTravel
({
name
:
'부산 해운대'
,
address
:
'부산광역시 해운대구 중동'
,
weather
:
'우박'
,
date
:
'2021-11-16'
});
var
Jeju
=
new
toTravel
({
name
:
'제주도'
,
address
:
'제주특별자치도 제주시 세종로 88'
,
weather
:
'비'
,
date
:
'2021-11-17'
});
// Travel 객체를 new로 생성해서 값을 입력해줌
JeonJu
.
save
(
function
(
error
,
data
)
{
if
(
error
)
{
console
.
log
(
error
);
}
else
{
console
.
log
(
'saved!'
);
}
});
toTravel
.
insertMany
([
Seoul
,
Busan
,
Jeju
],
function
(
err
)
{
if
(
err
)
{
console
.
log
(
err
);
}
else
{
mongoose
.
connection
.
close
();
console
.
log
(
"Successfully saved to travelDB"
);
}
});
toTravel
.
find
(
function
(
err
,
travels
)
{
// toTravel이라는 모델에 저장된 데이터 전체 불러오기 = find(), 데이터 하나 가져오기 = findOne()
console
.
log
(
'---READ ALL---'
);
if
(
err
)
{
console
.
log
(
err
);
}
else
{
fruits
.
forEach
(
function
(
element
)
{
console
.
log
(
travels
.
name
);
// 각각의 이름(지명) 출력
});
}
});
const
q0
=
toTravel
.
find
();
toTravel
.
updateOne
({
// mongoDB에 저장된 document 내용 수정, 첫번째 파라미터로 수정할 document 선택, 두 번째 파라미터로 수정할 내용을 입력
_id
:
"5e859d8cef3a5d234c6c19c0"
},
{
name
:
"제주도"
},
function
(
err
)
{
if
(
err
)
{
console
.
log
(
err
);
}
else
{
console
.
log
(
"Successfully updated the document"
);
}
});
toTravel
.
deleteOne
({
// mongoDB에 저장된 document 삭제. 첫 번째 파라미터로 삭제할 document를 선택하여 삭제
_id
:
"5e86a7a216b28f3b08a88755"
},
function
(
err
)
{
if
(
err
)
{
console
.
log
(
err
);
}
else
{
console
.
log
(
"Successfully deleted"
);
}
});
toTravel
.
find
(
function
(
error
,
travels
)
{
//전체 가져오기
console
.
log
(
'--- Read all ---'
);
if
(
error
)
{
console
.
log
(
error
);
}
else
{
console
.
log
(
travels
);
}
});
app
.
use
(
logger
(
'dev'
));
app
.
use
(
express
.
json
());
...
...
@@ -150,5 +58,13 @@ app.use(function (err, req, res, next) {
res
.
render
(
'error'
);
});
app
.
get
(
'*'
,
function
(
req
,
res
)
{
//DB에서 json형태의 데이터를 유저가 접속하자마자 바로 불러와서 frontend에 뿌려주기
// 렌더링할 때 frontend로 변수 뿌려주기
res
.
render
(
"asd.html"
);
});
module
.
exports
=
app
;
//유저 로그인할때 모든 여행지에 대한 정보를 DB에서 싹다 불러옴 페이지 렌더링할때 data 뿌려줌
\ No newline at end of file
...
...
Please
register
or
login
to post a comment