このリンクの記事を読みましたhttp://theholmesoffice.com/mongoose-and-node-js-tutorial/ ここにコードがあります:
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');
これら2つのアプローチが異なる理由と、どちらが優れているのか、そしてその理由はわかりませんか? 誰でも私を助けてください。私が観察したことの 1 つは、2 番目のアプローチが最もよく使用されていることです。どちらがより良いアプローチであるかについて私を助けてください。これは主に Mongodb でのスキームの作成に関するものであることを私は知っています。しかし、それでも私はまったく確信が持てません。助けてください。