首页 > mongodb的一个问题

mongodb的一个问题

var settings = require('../settings'),
    Db = require('mongodb').Db,
    Connection = require('mongodb').Connection,
    Server = require('mongodb').Server;
module.exports = new Db(settings.db, new Server(settings.host, settings.port), {safe: true});

我在这段代码中有几个不懂点。。
Db = require('mongodb').Db和Connection = require('mongodb').Connection和Server = require('mongodb').Server和new Db(settings.db, new Server(settings.host, settings.port), {safe: true})它们的作用是干什么的???求助。麻烦知道的给解答下。谢谢!


Db = require('mongodb').Db,   // 数据库对象
Connection = require('mongodb').Connection,   // 数据库连接对象
Server = require('mongodb').Server;    // 数据库服务对象

要给数据库服务传配置信息,如host 主机号, post 端口号 可能会有用户名和密码
要给数据库对象传一些配置信息,

你可以使用一些orm来配合mongodb使用, 如mongoose,它会简化你的配置操作,还提供很多的功能如Schame,一些语法糖之类的


setting的作用你明白了吧?现在说下面的。
首先,这都是require一个叫mongodb的模块,这个模块是mongodb的Node.js 驱动,就是让你用Node.js连接Mongodb进行操作的。

Db = require('mongodb').Db

是导出一个Mongodb模块内置的Db方法,下面通过new 调用它就创建了一个数据库连接实例。

建立一个数据库连接你得指定一个名字和服务器端口吧,Server就是干这个的:

Server = require('mongodb').Server;

导出一个Server方法,通过new这个方法把主机和端口号传进去就可以新建一个服务器实例。
然后{safe: true}明显是一个配置参数,用来指定数据库的一些配置的。

至于Connection,在这里并没用到,也没导出去,先忽略吧。

要是你说,为什么要这样调用,因为文档就是这样规定的http://mongodb.github.io/node-mongodb-native/2.1/api/Db.html

不过Mongodb另有一个更简单的连接方法,就是利用MongoClient,我前两天刚用了一下,可以参考下我的代码:
https://github.com/lijsh/node-blog/blob/master/lib/mongoConnect.js

或者官方说明:https://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html

PS: 这是那个Node博客的教程吧,以前也看过,楼主加油。

【热门文章】
【热门文章】