【发布时间】:2020-10-20 03:29:01
【问题描述】:
.save() 没有做任何事情你能帮我解决这个问题吗?这是我的代码 sn-ps
猫鼬连接
const dbOptions = {
useNewUrlParser: true,
useUnifiedTopology: true
}
const connection = mongoose.createConnection(process.env.DB_URL, dbOptions, () => { console.log('connected to db') })
const sessionStore = new MongoStore({ mongooseConnection: connection, collection: 'sessions' })
app.use(session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: true,
store: sessionStore,
cookie: {
maxAge: 300
}
}))
用户架构
const mongoose = require('mongoose')
const UserSchema = new mongoose.Schema({
username: {
type: String,
unique: true,
required: true
},
hash: {
type: String
},
salt: {
type: String
}
}, {
timestamps: true
})
module.exports = mongoose.model('Users', UserSchema)
路由 这里的代码一直执行到我尝试使用控制台语句创建哈希和盐,但没有做任何进一步的事情。
var express = require('express')
var router = express.Router()
const User = require('../models/User')
const passport = require('passport')
const genPassword = require('../passwordUtil').genPassword
/* GET users listing. */
router.get('/', async function (req, res) {
try {
const findusers = await User.find()
res.json(findusers)
} catch (err) {
res.json({ message: err })
}
})
router.post('/register', (req, res) => {
const salthash = genPassword(req.body.password)
const hash = salthash.hash
const salt = salthash.salt
const user = new User({
username: req.body.username,
hash: hash,
salt: salt
})
try {
const saveduser = user.save()
res.json(saveduser)
} catch (err) {
res.json({ message: err })
}
})
router.post('/login', passport.authenticate('local'), (req, res, next) => {})
module.exports = router
另外,Idk 如果需要,但这是我的 app.js 文件,如果您发现任何问题,请告诉我。在我看来,这个是健康的,但可以肯定的是。请查看此内容并告诉我。 App.js
var createError = require('http-errors')
var express = require('express')
var path = require('path')
var cookieParser = require('cookie-parser')
var logger = require('morgan')
const mongoose = require('mongoose')
require('dotenv/config')
const bodyparser = require('body-parser')
const cors = require('cors')
const session = require('express-session')
const passport = require('passport')
const MongoStore = require('connect-mongo')(session)
require('./authenticate')
var indexRouter = require('./routes/index')
var usersRouter = require('./routes/users')
var app = express()
// view engine setup
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'pug')
app.use(logger('dev'))
app.use(express.json())
app.use(express.urlencoded({ extended: false }))
app.use(cookieParser())
app.use(express.static(path.join(__dirname, 'public')))
app.use(cors())
app.use(bodyparser.json())
const dbOptions = {
useNewUrlParser: true,
useUnifiedTopology: true
}
const connection = mongoose.createConnection(process.env.DB_URL, dbOptions, () => { console.log('connected to db') })
const sessionStore = new MongoStore({ mongooseConnection: connection, collection: 'sessions' })
app.use(session({
secret: process.env.SECRET,
resave: false,
saveUninitialized: true,
store: sessionStore,
cookie: {
maxAge: 300
}
}))
app.use(passport.initialize())
app.use(passport.session())
app.use('/', indexRouter)
app.use('/api/users', usersRouter)
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404))
})
app.use(function (err, req, res, next) {
res.locals.message = err.message
res.locals.error = req.app.get('env') === 'development' ? err : {}
res.status(err.status || 500)
res.render('error')
})
module.exports = app
【问题讨论】:
标签: database mongodb mongoose backend mongoose-schema