这里不是很明白为什么2个的名字要如此相同,新手都有点糊涂。查了一些文档,当require('mongoose')时,就相当于 mongoose.createConnection(),而如果新手用这个mongoose.model,往往是不成功的。因为永远不会连接。
我也是最近在用这个,欢迎大家讨论,有很多不懂的。
两种方式对比:
var mongoose = require('mongoose');
db = mongoose.createConnection('localhost', 'test');
var schema = new mongoose.Schema({ name: String });
var collectionName = 'kittens';
var M = db.model('Kitten', schema, collectionName);
var silence = new M({ name: "Silence"});
silence.save(function(err){
});
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
db = mongoose.connection;
db.once('open', function callback () {
// yay!
});
var kittySchema = mongoose.Schema({
name: String
});
var Kitten = mongoose.model('kitten', kittySchema);
var silence = new Kitten({ name: "Silence"});
silence.save(function(err){
});