mongoose 入门笔记

无论你什么数据库做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'
            })  
        }   
    })  
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值