Estoy tratando de crear una aplicación de matraz que pueda admitir la solicitud de inicio de sesión del usuario y devolver datos de la base de datos mongodb, después de que recibe la contraseña y el nombre de usuario que coinciden con la entrada en la base de datos. Aunque me devuelve un valor vacío como resultado de la consulta de búsqueda, lo que genera un error de objeto nulo en la línea de salida, incluso si los datos están presentes en la base de datos. Además, el código no entra en el 'bucle 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)El nombre de mi base de datos es 'VendorDetails' y el nombre de mi colección también es 'VendorDetails'. Por favor, sugiérame una posible forma de resolver esto.
intenta cambiar esta línea:
v= vendor.find({'Username':Username},{'Password':Password})a este:
v= vendor.find({"Username": Username, "Password":Password})déjame saber si funciona.