Python 如何使用Pymongo在MongoDB中选择单个字段?

Python 如何使用Pymongo在MongoDB中选择单个字段?,python,mongodb,pymongo,Python,Mongodb,Pymongo,我试图在MongoDB中找到一条记录,并从结果中过滤\u id 这是我的密码: #app.py @app.route('/login', methods = ['GET', 'POST']) def login(): if request.method == "POST": password = request.form.get('password') email = request.form.get('email') db = get_d

我试图在MongoDB中找到一条记录,并从结果中过滤
\u id

这是我的密码:

#app.py
@app.route('/login', methods = ['GET', 'POST'])
def login():
    if request.method == "POST":
        password = request.form.get('password')
        email = request.form.get('email')
        db = get_db()
        data = db.author.find_one({'email' : email, 'password' : password})
        print(data)
        return 'data'
    else:
        return render_template('login.html')
输出:

{'password': '123123', 'name': '<my_name>', 'email': '<my_email>', '_id': ObjectId('<an_object_id_string>')}
{'password':'123123','name':'','email':'','u id':ObjectId(''''}

如何从输出中筛选
\u id
字段?

您需要使用投影指定要返回的字段

data = db.author.find_one({'email' : email, 'password' : password}, {'_id': 1})

您需要在查询中传递第二个对象。第一个参数是select子句,而第二个参数是投影

data = db.author.find_one({'email' : email, 'password' : password}, {'_id': 1})
有关详细信息,请参见MongoDB文档:

这是避免id的最好方法

现在您得到了答案“{'password':'123123','name':'prakash','email':'prakashprabhu48@gmail.com“}”(无id)