无论你什么数据库做db服务,connect都是必不可少的步鄹。
方式一:
@param {String} uri
@param {Object} options
@param {Function} callback
connect(uri,[options],[callbakc])
返回mongoose对象
mongoose.connect('mongodb://localhost/test',{mongos : true},function(err,result){
if(err){
console.log('Error connecting to MongoDB Database. ' + err);
}else{
loggers.info('Error connecting to MongoDB Database. ');
console.log('Connected to Database');
}
})
我们来看下connect 的实现
Mongoose.prototype.connect = function() {
var conn = this.connection;
if (rgxReplSet.test(arguments[0]) || checkReplicaSetInUri(arguments[0])) {
conn.openSet.apply(conn, arguments);
} else {
conn.open.apply(conn, arguments);
}
return this;
};
方式二:
@param {String} uri
@param {Object} options
createConnection([uri],[options])
注意:这里返回的是一个连接对象(也就是一个connect)
这里如果你生成了多个connect对象,那么他们对应mongo里的一个
db,这个方法可以有助于我们同时操作多个db.
例如:
var opts = { server: { auto_reconnect: false },
user: 'username', pass: 'mypassword' };
db = mongoose.createConnection('localhost', 'database', port, opts)
定义model
var Mongoose = require('mongoose');
var Schema = Mongoose.Schema;
var Product = new Schema({
image : {
type : String,
},
description : {
type : String
},
price : {
type : Number,
require : true
},
probability : {
type : Number,
require : true
},
status :{
type : Number,
require : true,
default : 1
}
},{
_id : true,
autoIndex : true
});
module.exports = Mongoose.model('Product',Product);
执行
router.get('/add',function(req,res){
var product = new Product({
image : 'images/product/id1.jpg',
descript : '这个产品挺好的',
price : 20.12,
probability : 100,
status : 1
})
product.save(function(err){
if(err){
console.log(err);
}else{
res.json({
msg:'ok'
})
}
})
})