我在mongolab上有一个mongodb副本集。
我使用的是nodejs + mongoose。当我尝试从我的本地机器连接时,一切正常。但是在部署到heroku之后,发生了一些错误,mongoose得到了奇怪的错误:
[Error: no primary server found in set]
下面是一些代码(server.js):
async.series([
function(callback){
console.log('DB Connection: ' + siteConf.mongo_url);
mongoose.connect(siteCon
我试图连接到由MongoLab创建的mongodb,但它似乎总是失败。
var mongoose = require('mongoose');
mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds123854.mongolab.com:12345/the_db');
mongoose.connection.on('open', function (ref) {
console.log('Connected to mongo server.');
}
我正在尝试从只使用原生mongodb切换到mongoose,并且遇到了一些麻烦。
像我之前所做的那样,连接到数据库可以正常工作:
var db;
var passDb = function(req, res, next) {
if (!db) {
mongo.connect(process.env.MONGOLAB_URI, function(err, database) {
if (err) throw err;
db = database;
req.db = db;
ne
在开始查询之前,我想确保我的mongodb在函数mongoConnect中成功连接,因为在NodeJS中是非阻塞的,并且它会继续执行语句
我只是想知道在服务器端是否有像".then( function (){..})“这样的函数,我知道有回调函数,但我不知道如何在这里使用它,我的意思是在我的例子中。
下面是我的代码:
io.sockets.on('connection', function (socket) {
mongoConnect();
//Some Query to the Database
socket.on('login',functio
我在部署到heroku时遇到以下错误。我已经通读了文档,但我不知道该怎么办:
{ MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017]
是的,我确实运行了heroku addons:创建mongolab -a,并在heroku网站上设置配置变量。这是我的服务器文件:
var express = require('express')
var app = ex
启动服务器后,我无法在mongodb中创建数据库'sms-dev‘,但在我的控制台中,它成功地与mongo连接。我将db模块作为db.js保存在模型文件夹中,并在模型文件夹内的另一个文件(config.js)中导出该模块。
以下是db.js文件中的代码
var db = {
// Connects to mongoDB
connect: function(url, options) {
mongoose.connect(url, options);
mongoose.connection.on('open', function(){
con