-
글쓴이글
-
2022년 4월 9일 08:29 #31437
서영석참가자
app.post('/room', 로그인했니, function(요청,응답){var 저장할거 = {
title : '무슨무슨채팅방',
member :[요청.body.당한사람id, 요청.user._id],
date : new Date()
}db.collection('room').insertOne(저장할거).then((결과)=>{
})
})app.get('/chat', 로그인했니, function(요청,결과){
db.collection('room').find({ member : 요청.user._id }).toArray().then((결과)=>{
console.log(결과);
응답.render('chat.ejs', {data : 결과})
})
})
})게시물 눌렀을때 로그인 하고 member : Array 저장이 안됩니다.
app.js
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(express.urlencoded({extended: true}));
const MongoClient = require('mongodb').MongoClient;
const MongoStore = require('connect-mongo');
const { redirect } = require('express/lib/response');
const methodOverride = require('method-override');
app.use(methodOverride('_method'));
app.set('view engine', 'ejs');app.use('/public', express.static('public'));
var db;
MongoClient.connect('mongodb+srv://scott:scott@cluster0.eeagm.mongodb.net/perfumeapp?retryWrites=true&w=majority', function(에러, client){
if(에러) return console.log(에러);
db = client.db('perfumeapp'); //database 이름 perfumeappconsole.log('저장완료');
});app.listen(4626, function(){
console.log('listening on 4626');
});app.get('/sub', function(요청, 응답){
응답.render('sub.ejs');
});app.get('/', function(요청, 응답){
응답.render('index.ejs');
});app.get('/chat', function(요청, 응답){
응답.render('chat.ejs');
})app.get('/complete', function(요청, 응답){
응답.render('complete.ejs');
});
app.get('/basket', function(요청, 응답){
응답.render('basket.ejs');
})
app.get('/join', function(요청, 응답){
응답.render('join.ejs');
})app.get('/login', function(요청, 응답){
응답.render('login.ejs')
})app.get('/logout', function(요청, 응답){
응답.render('logout.ejs');
});app.get('/shop', function(요청, 응답){
응답.render('shop.ejs')
});app.get('/mypage', function(요청, 응답){
응답.render('mypage.ejs')
});
app.get('/order', function(요청, 응답){
응답.render('order.ejs')
});app.get('/record', function(요청, 응답){
응답.render('record.ejs');
});app.get('/precord', function(요청, 응답){
응답.render('precord.ejs');
});app.get('/pocket', function(요청, 응답){
응답.render('pocket.ejs')
});// app.get('/register', function(요청, 응답){
// 응답.render('join.ejs')
// });app.post('/add', function(요청, 응답){
응답.send('전송완료');
db.collection('notecounter').findOne({name : '작성물갯수'}, function(에러, 결과){
console.log(결과.totalNote)
var 총작성물갯수 = 결과.totalNote;
db.collection('note').insertOne( {_id: (총작성물갯수 + 1), 제목:요청.body.title, 과제이름:요청.body.problem} , function(에러, 결과){
console.log('저장완료');
db.collection('notecounter').updateOne({name:'작성물갯수'},{$inc: {totalNote:1}},function(에러, 결과){
if(에러){return console.log(에러)}
})
})
});
app.get('/list', function(요청, 응답){
db.collection('note').find().toArray(function(에러, 결과){
console.log(결과);
응답.render('list.ejs',{notes:결과});
})
})
app.delete('/delete', function(요청, 응답){
요청.body._id = parseInt(요청.body._id)
db.collection('product').deleteOne(요청.body, function(에러, 결과){
console.log('삭제완료')
})
응답.send('삭제완료')
});app.post('/plus', function(요청, 응답){
db.collection('bloomingblossom').insertOne({상품이름 : 요청.body.productname,상품수량 : 요청.body.productcount, 판매가격 : 요청.body.productprice, 상세설명: 요청.body.productdetail }, function(에러,결과){
console.log('저장완료');
})
});app.get('/list', function(요청, 응답){
db.collection('note').find().toArray(function(에러, 결과){
console.log(결과);
응답.render('list.ejs',{notes : 결과});
});
});app.get('/plist', function(요청, 응답){
db.collection('bloomingblossom').find().toArray(function(에러, 결과){
console.log(결과);
응답.render('plist.ejs',{Blossoms : 결과});
});
});app.get('/search', (요청, 응답)=>{
var 검색조건 = [
{
$search: {
index: 'BlossomsSearch',
text: {
query: 요청.query.value,
path: '상품이름' // 제목날짜 둘다 찾고 싶으면 ['제목', '날짜']
}
}
}
]
db.collection('bloomingblossom').aggregate(검색조건).toArray((에러, 결과)=>{
console.log(결과)
응답.render('search.ejs',{Blossoms:결과})
})
})app.post('/order', function(요청, 응답){
응답.send('전송완료');
db.collection('productsum').findOne({name : '상품구매금액'}, function(에러, 결과){
console.log(결과.AllProductSum)
var 총상품구매금액 = 결과.AllProductSum;db.collection('incart').insertOne({총상품구매금액: 요청.body.totalCost, 이름: 요청.body.name, 성별: 요청.body.gender, 휴대폰번호:요청.body.ph, 배송주소: 요청.body.addr, 메모:요청.body.comment, 향수선택:요청.body.good, 결제수단:요청.body.pay}, function(에러,결과){
consolo.log('저장완료');db.collection('user').findOne({uid : parserInt(요청.params.uid)}, function(에러, 결과){
})db.collection('productsum').updateOne({name:'상품구매금액'},{ $mul :{AllProductSum:count*price}},function(에러,결과){
// db.collection('accounter').updateOne({name:'상품갯수'},{$inc :{AllProduct:1}})
if(에러){return console.log(에러)}
})
})
})
});app.get('/shop/:_id', function(요청, 응답){
db.collection('bloomingblossom').findOne({_id : parseInt(요청.params.id)}, function(에러,결과){
console.log(결과);
응답.render('shop.ejs',{Blossoms : 결과})
})
})const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const session = require('express-session');
const res = require('express/lib/response');app.use(session({secret : '비밀코드', resave : true, saveUninitialized: false}));
app.use(passport.initialize());
app.use(passport.session());app.get('/login', function(요청, 응답){
응답.render('login.ejs')
});app.post('/logout',function(요청, 응답){
요청.logout();
응답.redirect('/');
});app.post('/login', passport.authenticate('local', {
failureRedirect : '/fall'
}), function(요청, 응답){
응답.redirect('/sub')
});app.get('/list', function(요청, 응답){
db.collection('note').find().toArray(function(에러, 결과){
console.log(결과);
응답.render('list.ejs',{notes:결과});
})
})passport.use(new LocalStrategy({
usernameField: 'uid',
passwordField: 'pw1',
session: true,
passReqToCallback: false,
}, function (입력한아이디, 입력한비번, done) {
//console.log(입력한아이디, 입력한비번);
db.collection('user').findOne({ uid: 입력한아이디 }, function (에러, 결과) {
if (에러) return done(에러)
if (!결과) return done(null, false, { message: '존재하지않는 아이디요' })
if (입력한비번 == 결과.pw1) {
return done(null, 결과)
} else {
return done(null, false, { message: '비번틀렸어요' })
}
})
}));passport.serializeUser(function (user, done) {
done(null, user.uid)
});
passport.deserializeUser(function (아이디, done) {
db.collection('user').findOne({uid : 아이디}, function(에러, 결과){
done(null, 결과)
})
});app.post('/register', function (요청, 응답) {
db.collection('user').insertOne({ uid: 요청.body.uid, pw1: 요청.body.pw1, pw2: 요청.body.pw2, 이름: 요청.body.name, 성별: 요청.body.gender, 휴대폰번호:요청.body.ph, 주소:요청.body.addr}, function (에러, 결과) {
응답.redirect('/')
})
})app.get('/shop/:id', function(요청, 응답){
db.collection('bloomingblossom').findOne({_id : parseInt(요청.params.id)}, function(에러,결과){
console.log(결과);
응답.render('shop.ejs',{ products : 결과})
})
});app.get('/mypage', 로그인했니, function(요청,응답){
console.log(요청.user);
응답.render('mypage.ejs',{사용자: 요청.user})
})
function 로그인했니(요청, 응답, next) {
if (요청.user) {
next()
}
else {
응답.send('로그인안하셨는데요?')
}
}
app.post('/room', 로그인했니, function(요청,응답){var 저장할거 = {
title : '무슨무슨채팅방',
member :[요청.body.당한사람id, 요청.user._id],
date : new Date()
}db.collection('room').insertOne(저장할거).then((결과)=>{
})
})app.get('/chat', 로그인했니, function(요청,결과){
db.collection('room').find({ member : 요청.user._id }).toArray().then((결과)=>{
console.log(결과);
응답.render('chat.ejs', {data : 결과})
})
})
})2022년 4월 9일 10:03 #31441
codingapple키 마스터서버에서도 당한사람id 출력되나 확인하고
ejs 파일에서 서버로 당한사람id 보낼 때 잘 보내고 있는지도 콘솔창에 출력해봐야할듯요
-
글쓴이글
- 답변은 로그인 후 가능합니다.