let db;
MongoClient.connect('mongodb+srv://admin:1q2w3e4r@cluster0.wqa5ex6.mongodb.net/?retryWrites=true&w=majority',
{ useUnifiedTopology: true }, (err, client) => {
if (err) return console.log(err)
db = client.db('todoapp');
app.listen(3000, () => {
console.log('Server is opened listening on 3000!');
}); // DB가 제대로 연결이 되면 이후에 app.listen으로 서버가 열리는 순차구조(콜백함수여서)
});
app.post('/newpost', (req, res) => {
res.send('전송완료')
req.body._id = 101
//이후 저 데이터들을 db에 저장할 코드..
db.collection('post').insertOne(req.body, () => {
console.log(`${req.body}를 DB에 저장하는데 성공함!`);
});
});
상단 코드블럭에서 db라는 변수가 쓰여서 지역변수인줄 알아서 하단 코드블럭에서 그 db 변수를 못쓸줄 알았습니다.
바깥에서 이미 선언해뒀기에 다른 코드블럭에서 db에 값이 대입되어서 다른 코드블록에서 그 값이 대입된 db변수를 사용할수있는건가요?
조금 헷갈리네요;