我有一个连接到Node.js Express的MongoDB,我有一个接受POST请求的API控制器和.save()请求体到数据库。然而,即使控制台正确地记录了请求体并在.save()方法内输入,我也用mongo->db
检查了终端,但仍然没有创建任何内容。
有没有办法确定MongoDB是否实际使用MongoDB .save()方法?还有我如何检查MongoDB是否正确连接到服务器?
也尝试过快速记录:
以下是服务器的设置方式:
const express = require('express'),
app = express(),
logger = require('morgan'),
config = require('./config/main'),
mongoose = require('mongoose'),
bodyParser = require('body-parser'),
router = require('./router');
mongoose.Promise = global.Promise;
mongoose.connect(config.database);
const server = app.listen(config.port);
console.log('Your server is running on port ' + config.port + '.');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(logger('dev'));
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://localhost:8080");
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization, Access-Control-Allow-Credentials");
res.header("Access-Control-Allow-Credentials", "true");
next();
})
router(app);
服务器的配置:
module.exports = {
'database': 'mongodb://localhost/testdatabase',
'port': process.env.PORT || 3000,
'secret': 'secretsecret',
}
编辑2
我的.save在控制器中:
user.save(function(err, user) {
if(err) { return next(err); }
res.status(201).json({
user: user
})
})
编辑3
尝试使用mongoose.set('debug', true);
进行日志记录并获得以下内容:
答案 0 :(得分:1)
您可以将mongoose设置为调试模式以查看最新情况。
mongoose.set('debug', true);