Mongoose起步

Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具

mongoose安装

  
安装nodejs和mongodb之后 ,使用npm来安装mongoose

npm install mongoose --save

安装成功后,就可以通过 require('mongoose') 来使用


connect

connect 用于创建数据库连接

mongoose.connect(url(s), [options], [callback])
//url(s):数据库地址,可以是多个,以`,`隔开
//options:可选,配置参数
//callback:可选,回调
mongoose.connect('mongodb://数据库地址(包括端口号)/数据库名称')

指定用户连接

mongoose.connect('mongodb://用户名:密码@127.0.0.1:27017/数据库名称')

连接多个数据库

如果你的app中要连接多个数据库,只需要设置多个url以,隔开,同时设置mongos为true

mongoose.connect('urlA,urlB,...', {
   mongos : true 
})

回调参数

mongoose.connect(url, options, function(error) {

});

执行下列代码后,控制台输出“连接成功”

var mongoose = require('mongoose');
mongoose.connect("mongodb://localhost/test", function(err) {
    if(err){
        console.log('连接失败');
    }else{
        console.log('连接成功');
    }
});

 如果开启鉴权控制,以用户名"u1",密码"123456"登录'db1'数据库。执行代码后,控制台输出“连接成功”

var mongoose = require('mongoose');
mongoose.connect("mongodb://u1:123456@localhost/db1", function(err) {
    if(err){
        console.log('连接失败');
    }else{
        console.log('连接成功');
    }
});

简单实验

创建一个db.js

var mongoose = require('mongoose'),
    DB_URL = 'mongodb://localhost:27017/mongoosesample';

/**
 * 连接
 */
mongoose.connect(DB_URL);

/**
  * 连接成功
  */
mongoose.connection.on('connected', function () {    
    console.log('Mongoose connection open to ' + DB_URL);  
});    

/**
 * 连接异常
 */
mongoose.connection.on('error',function (err) {    
    console.log('Mongoose connection error: ' + err);  
});    
 
/**
 * 连接断开
 */
mongoose.connection.on('disconnected', function () {    
    console.log('Mongoose connection disconnected');  
});    

  调用node db.js执行就会看到输出如下图


disconnect()

mongoose.disconnect()

使用disconnect()方法可以断开连接

var mongoose = require('mongoose');
mongoose.connect("mongodb://u1:123456@localhost/db1", function(err) {
    if(err){
        console.log('连接失败');
    }else{
        console.log('连接成功');
    }
});
setTimeout(function(){
    mongoose.disconnect(function(){
        console.log("断开连接");
    })
}, 2000);

 

猜你喜欢

转载自blog.csdn.net/weixin_37823121/article/details/82750833