0
我打电话给db dev
将数据插入到它的集合中。但它创建了一个新的集合并将数据插入admin
db。烧瓶Pymongo插入
from app import app
from flask import Flask
from flask import jsonify
from flask import request
from flask_pymongo import PyMongo
@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
app.config['MONGO_DBNAME'] = 'dev'
app.config['MONGO_AUTH_SOURCE'] = 'admin'
app.config['MONGO_URI'] = 'mongodb://<user>:<password>@<url>:27017/admin'
mongo = PyMongo(app)
@app.route('/mongo', methods=['GET'])
def get_all_docs():
doc = mongo.db.abcd.insert({'abcd':'abcd'})
return "Inserted"
if __name__ == '__main__':
app.run(debug=True)
我在这里错过了什么吗?
PS:我试着用dev
替换admin
。它给了pymongo.errors.OperationFailure: Authentication failed.
我想那是因为验证数据在admin
db。
app.config['MONGO_URI'] = 'mongodb://<user>:<password>@<url>:27017'
这也是行不通的。
为什么就不能''MongoDB的替代: @:27017/dev''?如果您正在阅读帖子,告诉您将AUTH_SOURCE或“admin”设置为数据库,那么这些来源实际上已过时。驱动程序通过“default”查看“admin”授权,并且您应该只需要有意使用其他命名空间的其他选项。由于您使用的是默认设置,因此其他设置不是必需的。 –
admin
://@NeilLunn'pymongo.errors.OperationFailure:身份验证失败.'当我使用dev代替管理员。我已经在上面提到过了。 – Anubhav
实际上用于连接的是什么?这个问题标签为mongoengine。你是真的使用这个,还是你在你自己的代码中调用了原始的pymongo驱动程序?因为这个'PyMongo(app)'调用没有被AFAIK使用。最重要的是**你是possitive **该帐户实际上可以访问'dev'数据库?您是否尝试过使用其他来源的帐户连接和使用该集合? –