簡體   English   中英

可以通過Mongo Shell連接到Heroku中的MongoDB,但不能連接到應用程序

[英]Can connect to MongoDB in Heroku through Mongo shell but not application

我已經在heroku中設置了一個scala play react-mongo應用程序。 Mongo由heroku中的mlab提供。 通過應用程序連接到mongo時出現問題,使用具有相同憑據的shell連接可以正常工作。 我正在使用scala播放2.5.1和反應式0.11.11,而mongod是3.0.8。 我認為所有這些版本都可以一起使用,但是在啟動時出現驗證錯誤:

2016-04-18T06:59:54.357736+00:00 app[web.1]: [info] application - ReactiveMongoApi starting...
2016-04-18T06:59:54.586309+00:00 app[web.1]: [info] application - ReactiveMongoApi successfully configured with DB 'heroku_0pps6l5f'! Servers:
2016-04-18T06:59:54.586332+00:00 app[web.1]:        [ds051635.mlab.com:51635]
2016-04-18T06:59:55.101238+00:00 heroku[router]: at=info method=POST path="XXXXX" host=YYYYYY request_id=ec31a3df-88a1-4dc4-b195-5d39280db41b fwd="90.200.12.189" dyno=web.1 connect=0ms service=2382ms status=200 bytes=137
2016-04-18T06:59:56.010123+00:00 app[web.1]: [error] r.c.a.MongoDBSystem - authentication failure
2016-04-18T06:59:56.010133+00:00 app[web.1]: reactivemongo.core.commands.FailedAuthentication: BSONCommandError['auth failed'] with original doc {
2016-04-18T06:59:56.010134+00:00 app[web.1]:   ok: BSONDouble(0.0),
2016-04-18T06:59:56.010135+00:00 app[web.1]:   errmsg: "auth failed",
2016-04-18T06:59:56.010135+00:00 app[web.1]:   code: BSONInteger(18)
2016-04-18T06:59:56.010136+00:00 app[web.1]: }

在隨后的插入中,我沒有收到錯誤,但實際上沒有任何插入。
在檢索中,出現以下錯誤:

2016-04-18T07:05:56.742757+00:00 app[web.1]: Caused by: java.lang.RuntimeException: (,List(ValidationError(List('n' is undefined on object: {"ok":0,"errmsg":"not authorized on heroku_0pps6l5f to execute command { count: \"sightings\" }","code":13}),WrappedArray())))

默認情況下,ReactiveMongo使用MONGODB-CR身份驗證以實現向后兼容(應將其更改為0.12)。

使用全新的MongoDB 3.x時,需要SCRAM-SHA1身份驗證。 因此,請確保通過ReactiveMongo啟用選項authMode=scram-sha1 (在連接URI中)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM