Mongodb Meteor 0.8.3应用程序拒绝连接到外部mongo服务器

Mongodb Meteor 0.8.3应用程序拒绝连接到外部mongo服务器,mongodb,meteor,Mongodb,Meteor,我有一个mongo副本集,我使用mongo_URL=mongodb://:/host:27017/db连接到我的meteor应用程序。最近升级到meteor 0.8.3后,它奇怪地停止了工作。我也检查了回滚到0.8.2的问题,但它在那里也不起作用,所以我认为这不是meteor做的事情,我的mongo服务器可能有问题。我能够在早些时候使用相同的设置进行部署。我还可以从我的机器上使用mongo-u-p host:port/db运行mongo shell,并连接到远程服务器。Mongo用户具有读写权限

我有一个mongo副本集,我使用mongo_URL=mongodb://:/host:27017/db连接到我的meteor应用程序。最近升级到meteor 0.8.3后,它奇怪地停止了工作。我也检查了回滚到0.8.2的问题,但它在那里也不起作用,所以我认为这不是meteor做的事情,我的mongo服务器可能有问题。我能够在早些时候使用相同的设置进行部署。我还可以从我的机器上使用mongo-u-p host:port/db运行mongo shell,并连接到远程服务器。Mongo用户具有读写权限

以前有人遇到过这种情况吗?如何连接远程mongo实例并运行meteor应用程序

下面是我尝试运行meteor应用程序时显示的错误,MONGO_URL设置为远程MONGO实例

 /Users/charnjitsingh/.meteor/tools/cef2bcd356/lib/node_modules/fibers/future.js:206
W20140808-09:35:09.241(5.5)? (STDERR)                       throw(ex);
W20140808-09:35:09.241(5.5)? (STDERR)                             ^
W20140808-09:35:09.260(5.5)? (STDERR) MongoError: not authorized for query on celebvidy.system.dummy
W20140808-09:35:09.260(5.5)? (STDERR)     at Object.Future.wait (/Users/charnjitsingh/.meteor/tools/cef2bcd356/lib/node_modules/fibers/future.js:326:15)
W20140808-09:35:09.261(5.5)? (STDERR)     at _.extend._nextObject (packages/mongo-livedata/mongo_driver.js:858)
W20140808-09:35:09.261(5.5)? (STDERR)     at _.extend.forEach (packages/mongo-livedata/mongo_driver.js:892)
W20140808-09:35:09.261(5.5)? (STDERR)     at _.extend.map (packages/mongo-livedata/mongo_driver.js:902)
W20140808-09:35:09.262(5.5)? (STDERR)     at _.extend.fetch (packages/mongo-livedata/mongo_driver.js:926)
W20140808-09:35:09.262(5.5)? (STDERR)     at Cursor.(anonymous function) [as fetch] (packages/mongo-livedata/mongo_driver.js:741)
W20140808-09:35:09.262(5.5)? (STDERR)     at MongoConnection.findOne (packages/mongo-livedata/mongo_driver.js:647)
W20140808-09:35:09.262(5.5)? (STDERR)     at Object.Package (packages/collection-hooks/findone.js:23)
W20140808-09:35:09.263(5.5)? (STDERR)     at Object.collection.(anonymous function) [as findOne] (packages/collection-hooks/collection-hooks.js:102)
W20140808-09:35:09.264(5.5)? (STDERR)     at _.extend.findOne (packages/mongo-livedata/collection.js:238)
W20140808-09:35:09.264(5.5)? (STDERR)     - - - - -
W20140808-09:35:09.264(5.5)? (STDERR)     at Object.toError (/Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/utils.js:110:11)
W20140808-09:35:09.265(5.5)? (STDERR)     at /Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/cursor.js:686:54
W20140808-09:35:09.265(5.5)? (STDERR)     at Cursor.close (/Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/cursor.js:969:5)
W20140808-09:35:09.265(5.5)? (STDERR)     at commandHandler (/Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/cursor.js:686:21)
W20140808-09:35:09.266(5.5)? (STDERR)     at /Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/db.js:1843:9
W20140808-09:35:09.266(5.5)? (STDERR)     at Server.Base._callHandler (/Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
W20140808-09:35:09.266(5.5)? (STDERR)     at /Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/connection/server.js:468:18
W20140808-09:35:09.266(5.5)? (STDERR)     at MongoReply.parseBody (/Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
W20140808-09:35:09.267(5.5)? (STDERR)     at null.<anonymous> (/Users/charnjitsingh/.meteor/packages/mongo-livedata/4821944ffe/npm/node_modules/mongodb/lib/mongodb/connection/server.js:426:20)
W20140808-09:35:09.267(5.5)? (STDERR)     at emit (events.js:95:17)
=> Exited with code: 8

我已经确认这确实是一个休斯顿特有的错误,根据

解决方案:临时使用repo的分叉版本,其中a删除了休斯顿的smart.json中对1.0.7 repo的引用,b包含了删除伪引用的提交。我已经证实了这在模数上是有效的

在项目的smart.lock中:

删除: 标签:v1.0.7

更改: 吉特:https://github.com/gterrono/houston.git,

致: 吉特:https://github.com/chadokruse/houston.git,或您自己的分叉回购

然后改变: 提交:a27e9e42d03764f09a6681a98945787fe1f6303d

致: 提交:4f13530c2fafd1c3aac98f787a5598b3e04b150f或您自己的分叉回购中的最新提交

注意:一旦他们将Houston更新到>1.0.7,您就会希望切换回原来的状态


如果您对错误修复的详细信息感兴趣,请查看提交本身:

当然,MONGO_url只是一个键入错误,对吗您是否具有显示system.dummies的系统集合的权限。这通常需要特殊权限。您所说的系统收集是什么意思?我是否需要为我的_database.system集合设置单独的权限?用户对我的_数据库具有完全读/写权限。好的,我知道mongo限制了系统收集。我如何更改权限以使用户能够写入该集合?您是否偶然使用了Houston软件包?刚遇到一个错误: