Я только начал изучать Node.js, это код, который я написал. в/модуле, у меня есть db.jsКогда закрыть соединение мангуста
var mongoose = require('mongoose');
var db = mongoose.connection;
db.on('error',console.error);
db.once('open',function(){
});
mongoose.connect('mongodb://localhost:27017/test');
//If the Node process ends, close the Mongoose connection
process.on('SIGINT', function() {
mongoose.connection.close(function() {
console.log('Mongoose default connection disconnected through app termination');
process.exit(0);
});
});
exports.db = mongoose;
и модуль user.js
var mongoose = require('./db').db;
var userSchema = mongoose.Schema({
name: "String",
email: "String",
password: "String"
});
exports.User = mongoose.model("User",userSchema);
Тогда в app.js
var User = require('./module/user').User;
var user001 = new User({
name:"user001",
email:"[email protected]",
password:"password001"
});
user001.save(function(err,result){
if(err) return console.error(err);
console.dir(result);
});
Когда я бегу app.js , после сохранения процесс не выходит, я знаю, что это связано с тем, что mongoose все еще подключен. Мой вопрос в том, как я могу автоматически закрыть его при завершении процесса? (Я знаю, что мне нужно использовать mongose.connect.close(), чтобы закрыть его, но где я должен поместить это в код?)
Какой процесс вы говорите? Даже если ваш метод 'save' вернет ваш сервер, он все равно будет работать. – Rohit
Rohit. Что я имел в виду, когда я запускаю узел app.js, он показывает результат после сохранения, но после этого приложение не выходит. Я должен сделать Ctrl + C, чтобы прервать приложение. Является ли это правильным поведением для node.js, что я должен вручную завершить приложение? – user454232
Как вы называете метод 'save'? Я предполагаю, что вы начали какое-то приложение http-сервера, это правильное поведение. – Rohit