Tag: mlab

Node.js / Socket.io web应用程序完美无缺地在本地运行,但在Heroku上时,浏览器挂起

我有一个Node.js web应用程序,它会定期调用一个MongoDB后端(每30分钟一次)。 我可以在这里运行几天在本地没有问题。 我刚刚部署到Heroku(免费,1个Dyno,使用MongoLab for DB),一切都启动并正常工作。 但是,当更新开始推出时,浏览器控制台中出现许多错误,这些错误与更新并不完全一致,最终(大约有3或4个更新),并且总是选项卡挂在30%的CPU上, 800MB内存(通常标称为CPU,最多300-400MB)。 我使用一串承诺来确保asynchronous数据库更新步骤以完美的顺序进行,并且始终在本地进行。 但是console.logs提示应用程序运行不正常,应该是不可能的,也就是说应用程序在依赖于parsing的承诺之前继续运行。 这将解释所有的错误(如未定义的variables等)有没有人看到这样的事情与他们的应用程序,可以build议从哪里开始寻找解决scheme? 在Heroku上部署应用程序或启动应用程序并不是问题,就像我看到的大多数疑难解答问题一样。 该应用程序运行,附加到端口,并在浏览器中没有错误。 只是在运行一段时间后,事情就会变得不合时宜。 我不知所措

Mongoose在连接时使用mongolab uri时出错?

它给出了以下错误 – mongoose connection error: { [MongoError: connect EINVAL] name: 'MongoError', message: 'connect EINVAL' } /home/user/Documents/oes/node_modules/connect-mongo/node_modules/mongodb/lib/server.js:228 process.nextTick(function() { throw err; }) ^ Error: connect EINVAL at errnoException (net.js:905:11) at connect (net.js:767:19) at net.js:846:9 at asyncCallback (dns.js:68:16) at Object.onanswer [as oncomplete] (dns.js:121:9) 6月14日18:04:11 – [nodemon]应用程序崩溃 – 正在等待文件更改开始之前…

无法连接我的nodejs应用程序与mLab数据库

我试图连接它与mlab数据库,但它不工作,经历了很多stackoverflow的答案,并尝试了一切,但错误仍然存​​在,请帮助。 var express = require('express'); var mongojs = require('mongojs'); var mongodb = require('mongodb'); // var db = mongojs('contactlist',['contactlist']); var uri = 'mongodb://user:pass@####.mlab.com:13702/contactlist' mongodb.MongoClient.connect(uri, { server: { auto_reconnect: true } }, function (err, contactlist) { }); var db = mongodb.connect(uri); var app = express(); var bodyParser = require('body-parser'); app.use(express.static(__dirname + "/public")); app.use(bodyParser.json()); app.get('/contactlist', function(req, res){ console.log("I […]

到Heroku的NodeJS中,MongoDB的MongoDB连接超时

首先一切正常,我可以通过发布到/上传路线成功地存储数据。 但在120秒不活动之后,超时事件触发,并且将来尝试存储数据失败。 但是callback没有被调用,所以在日志中没有"Unable to insert…"消息。 var express = require('express'); var bodyParser = require('body-parser'); var winston = require('winston'); var config = require('./config'); var MongoClient = require('mongodb').MongoClient; var app = express(); app.use(bodyParser.json()); app.post('/upload', function (req, res) { req.json({status: 'recieved'}); req.app.locals.db.collection('data').insertOne(req.body, function(err, result) { if (err === null) { winston.info('Successfully inserted', {data: req.body}); } else { winston.warn('Unable to […]

在meteor束之后,node.js是“LISTENING”,但没有出现在本地主机上

我捆绑了一个meteor应用程序,并运行未压缩的tarball节点。 我不知道为什么应用程序似乎不出现在本地主机上。 这是我如何捆绑: $ meteor bundle app.tar.gz 然后我解压: $ tar -zxvf app.tar.gz 然后,我进入捆绑目录,并按照自述说: $ rm -r programs/server/node_modules/fibers $ npm install fibers@1.0.1 $ export MONGO_URL='mongodb://<dbuser>:<dbpassword>@<PORT>.mongolab.com:<PORT>/<db>' $ export ROOT_URL='http://localhost:3000' $ node main.js 然后,节点说它是LISTENING但是localhost:3000不连接。 我有节点v0.10.22,meteor说捆绑只testing了节点v0.10.21,但似乎不太可能成为问题。 难道我做错了什么?

处理MongoDB断开/重新连接节点

当我的MongoDB连接空闲了几分钟,下一个请求就结束了。 从mongo命令行客户端,它看起来像这样: > db.users.find() Sat Jan 12 23:42:35 Socket recv() errno:54 Connection reset by peer 107.22.25.25:47207 Sat Jan 12 23:42:35 SocketException: remote: 107.22.25.25:47207 error: 9001 socket exception [1] server [107.22.25.25:47207] Sat Jan 12 23:42:35 DBClientCursor::init call() failed Sat Jan 12 23:42:35 query failed : chowology.users {} to: ds047207.mongolab.com:47207 Error: error doing query: failed Sat Jan […]

如何在mongoLab和Heroku服务器中使用mongo URI

我正在使用MongoDb和Nodejs。 Nodejs托pipe在Heroku服务器上,Mongodb通过Heroku插件在MongoLab中。 在安装了MongoLab插件之后,我收到了这个URI: mongodb://<dbuser>:<dbpassword>@ds053148.mongolab.com:53148/heroku_app18934798 我不知道如何使用这个URI,请帮忙? 在哪里放? 什么是<dbuser>:<dbpassword 这是我在locallhost中locallhost所关心的configuration 在server.js var env = process.env.NODE_ENV || 'development', config = require('./config/config')[env], mongoose = require('mongoose'); var db = mongoose.connect(config.db); 在express.js app.use(express.session({ secret: 'thissecret', key:'express.sid', store: new mongoStore({ url: config.db, collection: 'sessions' }) })); 在config.js module.exports = { development: { db: 'mongodb://localhost/mean-dev', root: rootPath, app: { name: 'MEAN – A […]

在heroku上无法通过node.js连接到mongolab

我在使用mongolab在heroku上制作node.js和mongodb时遇到了麻烦。 我已经阅读了其他问题,比如如何在MongoLab上设置Heroku上的MongoDB数据库? 以及如何在Node.js Web应用程序中pipe理MongoDB连接? 但我仍然无法build立我的联系。 在日志中显示[Error:failed to connect to …] 我有从数据库,主机和端口MONGOLAB_URI进程env.I有以下代码: var mongoUri = mongodb://heroku_app17328644:{password}@ds037518.mongolab.com //taken from process.env.MONGOLAB_URI var host = 'mongodb://heroku_appXXXXXX:{password}@ds037518.mongolab.com'; var port = '37518'; var database = 'heroku_appXXXXXX'; Provider.db = new Db(database, new Server(host, port, { safe: true }, { auto_reconnect: true }, {})); Provider.db.open(function(err, db){ console.log(db); //null if (err) console.log(err); else console.log('success'); […]

环回MongoError:未授权在heroku_xxxx.role上进行查询

我正在为我的服务器使用Loopback和以下设置: "loopback": "^2.36.0", "loopback-boot": "^2.23.0", "loopback-component-explorer": "^2.4.0", "loopback-component-storage": "^1.9.1", "loopback-connector-mongodb": "^1.17.0", "loopback-datasource-juggler": "^2.53.0", 它连接到mlab.com上的mongoDB 我的主要查询包括一个模型和它的依赖关系,例如: GET /api/course/1234 PARAMS filter = { include: [ {relation:'students'}, {relation:'documents'}, {relation:'modules'} ] } 99.9%的时间,它完美的作品。 但是当我开始在平台上进行更多的活动时,在服务器开始崩溃之前,我开始出现这个错误。 这是错误: MongoError: not authorized for query on db.student at Function.MongoError.create (/app/node_modules/mongodb-core/lib/error.js:31:11) at queryCallback (/app/node_modules/mongodb-core/lib/cursor.js:182:34) at /app/node_modules/continuation-local-storage/context.js:76:17 at bound (domain.js:287:14) at runBound (domain.js:300:12) at Callbacks.emit (/app/node_modules/mongodb-core/lib/topologies/server.js:119:3) […]

如何使用MongoLab在Heroku上设置MongoDB数据库?

我正在使用Express.js和MongoLab,我跟着Heroku安装程序来让MongoDB在生产环境中工作 ,把这段代码扔到我的app.js中 。 //Mongo on Heroku Setup var mongo = require('mongodb'); var mongoUri = process.env.MONGOLAB_URI || process.env.MONGOHQ_URL || 'mongodb://localhost/mydb'; mongo.Db.connect(mongoUri, function (err, db) { db.collection('mydocs', function(er, collection) { collection.insert({'mykey': 'myvalue'}, {safe: true}, function(er,rs) { }); }); }); 我的电子邮件表单(也在app.js中)有以下路线和字段: //Routes app.get('/', function(req, res) { res.render('index', { title: 'DumbyApp' }); }); //save new email app.post('/', function(req, res){ […]