-
글쓴이글
-
2022년 5월 31일 10:08 #35312
몰라요아리리리참가자
form action =/add 말고 form id="chat" 인걸 몽고디비에 저장하라고 하면 안되나요?저는 "쓰기" 버튼을 눌렀을때 페이지 이동하는걸 하고 싶지 않아요 ㅠㅠㅠㅠㅠ
댓글처럼 ""해당 페이지에 머무르면서 내용이 저장""되었으면 좋겠습니다.
/// 선생님
server.js에 있는 socket 코드를 어떻게 변경해야할지 감이 안잡혀요ㅠㅠ
여기서 몽고디비랑 연결해야할 것 같은데, 구글에 찾아보니 오른쪽 코드가 나오더라구요..
어떻게 적용해야할가오ㅠㅠ
< 왼쪽 : server.js. 오른쪽 : 구글에서 찾은 소켓-디비 연결 코드 >
2022년 5월 31일 14:01 #35338
codingapple키 마스터form태그를 제거합시다
서버에서 user-send라는 이름으로 메세지가 올 때
디비에 그 메세지 저장해달라는 코드짜면 됩니다 찾은건 mongoose라서 문법이 좀 다를듯요
2022년 5월 31일 14:54 #35356
몰라요아리리리참가자1) 선생님 서버에서 socket 있던 코드를 아래에 코드를 덧붙였어요.
그래도 몽고 디비에 저장이 되지 않는데.. 뭐가 문제인가요ㅠㅠ
2) 그리고 몽고디비 URL 을 두번썼더니 (위에 한번, 아래 socket) 위에 몽고디비가 잘 안먹는것같아요...ㅠ
3) app.post(/경로, function( 요청,응답) < --- 이게 들어간게 맞는건가요..하
--------------------------------------------------------------------------------------------------------
코드
--------------------------------------------------------------------------------------------------------
app.get('/socket', function(요청,응답){
응답.render('socket.ejs')
});io.on('connection', function (socket) {
console.log('유저접속');
socket.on('user-send', function(data){
io.emit('broadcast', data);
});
});var db;
MongoClient.connect('mongodb+srv://sujin:0209@cluster0.vzzu0.mongodb.net/message-database?retryWrites=true&w=majority', { useUnifiedTopology: true }, function (에러, client) {
if (에러) return console.log(에러)
db = client.db('messages');
app.post('/list2', function(요청, 응답){
db.collection('messages').insertOne( {댓글 : 요청.body.user-send } , function(에러, 결과){
console.log('댓글저장')
});
});
});2022년 5월 31일 21:33 #35397
codingapple키 마스터애플코딩은 아닙니다
MongoClient어쩌구는 DB 처음 접속하는코드인데 저기 넣을 필요는 없습니다
db.collection().insertOne() 이것만 넣으면 될듯요
유저가 post요청안하는거 같은데 app.post 도 필요없습니다
2022년 5월 31일 21:52 #35405
몰라요아리리리참가자선생님 몽고 디비를 지워버리면 collection() 내용이 사라져서
위와 같은 에러가 뜹니다 ㅠ.ㅠ
TypeError: Cannot read properties of undefined (reading 'collection')
-
글쓴이글
- 답변은 로그인 후 가능합니다.