String 无法比较mongodb集合中的字符串
我是mongodb和pymongo的初学者,我有一个mongodb电影数据库,在那里我存储用户 带有字段(姓名、姓氏、电子邮件、类别)。我正在尝试使用pymongo在我的mongodb数据中插入用户,并且用户密钥必须是“Admin”或“Simple”字符串。但是,我是一个完全的初学者,我不知道如何将mongodb集合实例与字符串进行比较。 我的代码如下:String 无法比较mongodb集合中的字符串,string,mongodb,flask,pymongo,String,Mongodb,Flask,Pymongo,我是mongodb和pymongo的初学者,我有一个mongodb电影数据库,在那里我存储用户 带有字段(姓名、姓氏、电子邮件、类别)。我正在尝试使用pymongo在我的mongodb数据中插入用户,并且用户密钥必须是“Admin”或“Simple”字符串。但是,我是一个完全的初学者,我不知道如何将mongodb集合实例与字符串进行比较。 我的代码如下: from pymongo import MongoClient from flask import Flask , request , Res
from pymongo import MongoClient
from flask import Flask , request , Response , jsonify , redirect
from pymongo.errors import DuplicateKeyError
import json
client = MongoClient('mongodb://localhost:27017/')
db = client['MovieFlixDB']
users = db['Users']
movies = db['Movies']
app = Flask(__name__)
@app.route('/insertuser' , methods = ['POST'])
def insert_user():
data = None
try:
data=json.loads(request.data)
except Exception as e:
return Response("Bad json content" , status = 500 , mimetype='application/json')
if data==None:
return Response("no data has been added" , status = 500 , mimetype='application/json')
if not "name" in data or not "surname" in data or not "email" in data or not "category" in data:
return Response("Information incompleted" , status = 500 , mimetype='application/json')
if data['category']!="admin" and data['category']!="simple":
return Response("Invalid category." ,status = 500 , mimetype='application/json')
编辑:我意识到我无法比较数据库中未插入的内容,实际上我必须比较数据[“类别”]而不是用户。查找(…)并更新代码
我将感谢你对这项任务的帮助。提前谢谢我想您需要使用以下功能:
db_data=users.find_one({“email”:data[“email”]})
如果db_数据[“类别”]==数据[“类别”]:
#做点什么
其他:
#做点别的
我建议您使用
find_one
,而不是find
,因为您只需要找到一个符合条件的文档 users.find({“category”:data[“category”]})
?@ngShravil.py它基本上是一个category:admin或category:simple的用户,你确定吗?您提到了I使用字段(姓名、姓氏、电子邮件、类别)存储用户
,那么users.find({“category”:data[“category”]})
如何只检索类别,因为您没有提到投影参数。我建议您浏览.@ngShravil.py,我只是编辑了代码