2016-09-09 7 views
1

У меня есть MongoDB, подключенный к Node.js Express, и у меня есть контроллер API, который принимает запрос POST и .save() тело запроса в базу данных. Тем не менее, даже если консоль правильно зарегистрировала тело запроса и вступила в метод .save(), я проверил терминал с mongo->db, но все же ничего не создано.Есть ли способ зарегистрировать/посмотреть, действительно ли работает MongoDB .save()?

Есть ли способ определить, действительно ли MongoDB использует метод MongoDB .save()? А также, как я могу проверить, правильно ли подключен MongoDB к серверу?

Пробовал экспресс регистрацию, а также:

enter image description here

А вот как сервер настроен:

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', 
} 

EDIT 2

Мой .save в контроллере:

user.save(function(err, user) { 
     if(err) { return next(err); } 

     res.status(201).json({ 
     user: user 
     }) 
    }) 

EDIT 3 Пробовал вход с mongoose.set('debug', true); и получил следующее:

enter image description here

+0

вот некоторые ответы: http://stackoverflow.com/questions/6854431/how-do-i-get-the-objectid-after-i-save-an-object-in-mongoose –

+0

@ MilosLulic извините, но, похоже, не может понять, что я ищу. Можете ли вы помочь –

+0

Если вы используете 'mongoose', просто проверьте, завершено ли' save() ': mydoc.save(). Then (function (d) {console.log ('SAVED', d);})' –

ответ

1

Вы можете установить мангуста в режим отладки, чтобы увидеть что происходит.

mongoose.set('debug', true); 
+0

извините, но где я должен его разместить? И что я должен искать? –

+0

после mongoose.connect в порядке. Mongoose будет регистрировать все, что происходит в и из монго. –

+0

Спасибо, Йоханнес! Просто попробовал и обновил исходное сообщение на снимке экрана. Означает ли это, что работает .save()? В чем может быть проблема? –

Смежные вопросы