从MongoDB集合中获取文档的问题

时间:2018-10-14 14:36:21

标签: mongodb flask mongoengine flask-mongoengine

我正在学习Flask框架,并使用MongoDB作为后端数据库来创建博客网站。我完全能够将数据作为文档保存到集合中,但是我很难从集合中检索保存的文档。

我正在使用Azure Cosmos DB MongoDB API进行收集。请在下面找到必要的屏幕截图。

文档类定义

class UserDocument(Document, UserMixin):

username = StringField(min_length=2,max_length=100,required=True,unique=True)
email = EmailField(required=True,unique=True)
password = StringField(max_length=60,required=True,unique=True)
remember = BooleanField(required=True,default=True,unique=True)

meta = { 'collection' : 'UserDocument'}

注册路线-保存我的文档

@app.route("/register",methods= ["POST","GET"] )
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        if request.method == "POST":
            user = UserDocument()
            user.username = form.username.data
            user.email = form.email.data
            user.password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
            user.save()        
        flash(form.password.data,"Info")
    return render_template('register.html',form=form,title='Register')

MongoEngine文档-检索 enter image description here

检索文档中的问题

@app.route("/login",methods= ["POST","GET"] )
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if request.method == "POST":
            # table = client.db.MongoEngineDB
            # user = table.UserDocument.find_one({'email':form.email.data})
            user = UserDocument.objects(username=form.email.data)
            flash(user, "Info")
    return render_template('login.html',form=form,title='Login')

我不确定自己在哪里弄糟,我确实花了很多时间试图通过浏览大量内容来弄清楚自己,但无法找到根本原因。不知道这是否与任何缺少的模块或“ UserDocument”类定义有关。

"flask-mongoengine" documentation中也没有太多信息。

0 个答案:

没有答案