Я прочитал статью в этой ссылке http://theholmesoffice.com/mongoose-and-node-js-tutorial/ здесь есть код:Mongoose ODM использовать
exports.teamlist = function(gname,callback){
db.once('open', function(){
var teamSchema = new mongoose.Schema({
country: String,
GroupName: String
});
var Team = db.model('Team', teamSchema);
Team.find({'GroupName':gname}, function (err, teams) {
if(err){
onErr(err,callback);
}else{
mongoose.connection.close();
console.log(teams);
callback("",teams);
}
})// end Team.find
});// end db.once open
};
Здесь он вызывает метод db.once, тогда как в других местах его использовали как этот
var mongoose = require('mongoose')
,Schema = mongoose.Schema
,ObjectId = Schema.ObjectId;
var postSchema = new Schema({
thread: ObjectId,
date: {type: Date, default: Date.now},
author: {type: String, default: 'Anon'},
post: String
});
module.exports = mongoose.model('Post', postSchema);
В части маршрутизатора его использовали следующим образом:
exports.show = (function(req, res) {
Thread.findOne({title: req.params.title}, function(error, thread) {
var posts = Post.find({thread: thread._id}, function(error, posts) {
res.send([{thread: thread, posts: posts}]);
});
})
});
И в app.js есть
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/norum');
Я не понимаю, почему у этих двух есть другой подход, а какой лучший и почему? Кто-нибудь может мне помочь, пожалуйста. Одна вещь, которую я наблюдал, заключается в том, что второй подход является наиболее используемым. Поэтому, пожалуйста, помогите мне в выборе лучшего подхода. Я знаю, что это в основном связано с созданием схем в Mongodb, и поэтому метод Once выглядит немного лучше. Но все же я совсем не уверен. Пожалуйста помоги.
Спасибо .. Я получил смысл сейчас. Большое спасибо. –
Я написал оригинальную статью как часть серии, создающей части стека. Метод подключения здесь не показывает лучших практик - вы должны обычно открывать свое соединение, когда ваше приложение запускается, и закрывать его, когда он заканчивается. Я написал дополнительную статью, разъясняющую это: http://theholmesoffice.com/mongoose-connection-best-practice/ –