使用Mongodb查找在Python Flask应用程序中返回空光标的查询

时间:2017-01-22 04:36:31

标签: python mongodb

我正在尝试制作一个可以支持用户登录请求并从mongodb数据库返回数据的烧录应用程序,它接收到与数据库中的条目匹配的密码和用户名。 虽然,它会因查找查询而返回空值,在输出行提示空对象错误,即使数据存在于数据库中也是如此。此外,代码没有进入'for循环'。

from flask import Flask, render_template
import pymongo
from flask import jsonify, request
from flask_pymongo import PyMongo
app= Flask(__name__)
app1= Flask(__name__)

app.config['MONGO_DBNAME']= 'VendorDetails'
app.config['MONGO_URL']='mongodb://localhost:27017/VendorDetails'
mongo=PyMongo(app)

@app.route('/getvendorlogin', methods=['POST'])
def getVendorLogin():
    vendor=mongo.db.VendorDetails.VendorDetails
    Username= request.json["Username"]
    Password= request.json["Password"]
    v= vendor.find({'Username':Username},{'Password':Password})
    for record in v:
        Username1= record['Username']
        Password1= record['Password']
        Name1= record['Name']
    output= {"Username":Username1, "Password":Password1, "Name":Name1}
    return jsonify({'result':output})
    if __name__=="__main__":
        app.run(host='0.0.0.0', port=80)

我的数据库名称是'VendorDetails',我的收藏品名称也是'VendorDetails'。请建议我解决这个问题的可能方法。

1 个答案:

答案 0 :(得分:0)

尝试更改此行:

 v= vendor.find({'Username':Username},{'Password':Password})

到这一个:

 v= vendor.find({"Username": Username, "Password":Password})

让我知道它是否有效。