0
データベースのエントリと一致するパスワードとユーザ名を受け取った後、mongodbデータベースからユーザログインリクエストとデータを返すことができるフラスコアプリケーションを作成しようとしています。 しかし、データがデータベースに存在していても、検索クエリの結果として空の値が返されますが、出力行にnullオブジェクトエラーが表示されます。また、コードは 'forループ'の中に入っていません。私のデータベースのPythonで空のカーソルを返す検索クエリMongodbのFlaskアプリケーション
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に
v= vendor.find({'Username':Username},{'Password':Password})
:
これを試してみてください。 vを空のカーソルとして空白のまま出力します。 –
ベンダー変数には、vendor vendor = mongo.db.VendorDetails.VendorDetailsという行のVendorDetails属性が2回ネストされているのがわかりますね。 –
はい、最初のVendorDetailsはデータベースを参照し、2番目はコレクションを参照します。 –