2016-08-16 8 views
0

私はこのFlaskアプリケーションの一部です。私はflask_mongoengineを使用しています。Heroku mLab MongoDB管理者がFlaskアプリケーションでクエリを許可されていません

app = Flask(__name__) 
app.config.from_object('config') 
db = MongoEngine(app) 

from .models import * 


@app.context_processor 
def inject_config(): 
    return dict(Config.objects.first(), version=version) 

Configドキュメントを拡張.models内のクラスです。

class Config(Document): 
    title = StringField() 
    description = StringField() 
    keywords = StringField() 
    author = StringField() 
    version = StringField() 
    meta = {"collection": "web_config"} 

Config.objectsを呼び出す際に、それがエラーを返すだ:

pymongo.errors.OperationFailure: database error: not authorized for query on heroku_dptwtq1j.web_config 

Iは、管理者ユーザーを介してログインしています。なぜ私は照会を認可されていないのですか?また、どのように自分自身にクエリを許可するのですか?

私はPyMongoを使用する別のアプリケーションを使っても問題はありません。なぜ、Flaskでは動作しませんか?

+0

興味深いことに、今日私はPyMongoで同じ問題を抱えています。 NodeJSにはあるがPythonにはない別のアプリケーションで動作します。 解決策はありますか? – Shayan

+0

@Shayan私の問題はflask_mongoengineライブラリにありました。私はmongoengineライブラリだけに切り替えて、うまくいきました。 – Jonny

+0

ありがとう@ジョニー、私の問題も似ていた、ありがとう – Shayan

答えて

0

私自身の質問に答える:問題はおそらくflask_mongoengineライブラリにあります。私はちょうどmongoengineに切り替え、それは正常に働いた。 allanleiから

1

あなたはまだ(理想的ではないが)私のためにそれを固定周りhttps://github.com/MongoEngine/mongoengine/issues/851に言及した作品があるflask_mongoengineを使用したい場合は

: 周りの私の仕事は、パッチフラスコ-mongoengine.connectionに実際にあります。 _resolve_settings()を渡すとホスト= mongodb:// .... to mongoengine.connect()

私はそれを見つけるのを助けたmLabsのChuckに感謝します。

関連する問題