Ошибка атрибута: объект ‘PyMongo’ не имеет атрибута ‘mydb2’

#python #mongodb #flask

#python #mongodb #колба

Вопрос:

 from flask import Flask,request,render_template
from flask_pymongo import PyMongo

app =Flask(__name__)
app.config["MONGO_URI"] = "mongodb://localhost:27017/mydb2"
mongo = PyMongo(app)
db = mongo.mydb2
mycol =db.users
if __name__ == "__main__":
    app.run(debug=True)
 

его отображение: AttributeError: объект ‘PyMongo’ не имеет атрибута ‘mydb2’

Ответ №1:

ваш MONGO_URI уже включает базу данных (mydb2). согласно https://flask-pymongo.readthedocs.io/en/latest / , вы можете переписать свой код следующим образом:

 db = mongo.db
 

[из документа]

 db
    The Database if the URI used named a database, and None otherwise.
 

Комментарии:

1. я также пробовал этот код, но показывал ту же ошибку..

2. Можете ли вы добавить строку в print dir (mongo) прямо перед тем, как она выдаст ошибку? Это даст нам представление об ожидаемом API, который будет использоваться.