我正在node.js中做一个应用程序,我找到了连接mongodb的语法。我知道还有其他方法,但有人可以向我解释这个。什么连接在这里?函数中的这个回调参数如何工作? assert用于什么?
var MongoClient = require('mongodb').MongoClient,
assert = require('assert');
var url = 'mongodb://localhost:27017/myproject';
var mongoClient = new function () {
this.connect= function(callback) {
MongoClient.connect(url, function (err, db) {
console.log("Connected successfully to server");
callback(err, db);
});
}
}
module.exports = mongoClient;
答案 0 :(得分:0)
这里有什么联系?
在运行此代码之前运行MongoDB服务器实例。服务器在端口(通常是端口27017)上运行。您尝试连接的是通过node.js程序的服务器实例。
函数中的这个回调参数如何工作?
{{1}}
此函数尝试连接到端口27017的MongoDB服务器到数据库myproject。它将连接结果存储在该函数的两个参数中。如果连接成功,则在error参数中存储null,否则存储错误的堆栈跟踪。在成功连接的情况下,它会在第二个参数中向您发送数据库实例。 回调函数将相同的结果返回给调用函数。
什么是断言用于?
它是Node中的一个模块。在美丽的Node.JS documentation about it
中给出了它的用途答案 1 :(得分:0)
var MongoClient = require('mongodb').MongoClient,
在这一行中你需要mongodb库。
var url = 'mongodb://localhost:27017/myproject';
这是您连接的网址。格式为mongodb:// host_address:port / db_name
//Creating a function with the name mongoClient and exporting it.
var mongoClient = new function () {
//Creating another called connect inside the mongoClient function. Which you will call from other place to connect to the db.
this.connect= function(callback) {
//Here the mongo client library actually connecting to mongo server, and through the callback function it return err and db object. if the connection is successful only then you should return db.
MongoClient.connect(url, function (err, db) {
if(!err){
console.log("Connected successfully to server");
//Here the call back function of the function which call the connect function getting called.
callback(err, db);
}else{
throw (err);
}
});
}
}
//here you are exporting the mongoClient function.
module.exports = mongoClient;
从其他文件中你可以像这样连接到mongo。
var mongoClient = require('relative path to this file');
mongoClient.connect(function(err, db){
//now db is the connection object.
console.log(db);
});