String 无法比较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

我是mongodb和pymongo的初学者,我有一个mongodb电影数据库,在那里我存储用户 带有字段(姓名、姓氏、电子邮件、类别)。我正在尝试使用pymongo在我的mongodb数据中插入用户,并且用户密钥必须是“Admin”或“Simple”字符串。但是,我是一个完全的初学者,我不知道如何将mongodb集合实例与字符串进行比较。 我的代码如下:

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,我只是编辑了代码