我有一个连接到 Node.js Express 的 MongoDB,并且有一个接受 POST 请求并将请求正文 .save() 到数据库的 API Controller 。然而,即使控制台正确记录了请求正文并输入了 .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
我在 Controller 中的.save:
user.save(function(err, user) {
if(err) { return next(err); }
res.status(201).json({
user: user
})
})
编辑3
尝试使用 mongoose.set('debug', true);
进行日志记录并得到以下结果:
最佳答案
您可以将 mongoose 设置为 Debug模式以查看发生了什么。
mongoose.set('debug', true);
关于node.js - 有没有办法记录/查看 MongoDB .save() 是否真正工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406142/