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

Kau*_*ana 8 python mongodb pymongo

我正试图在MongoDB中找到一条记录,并_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')
Run Code Online (Sandbox Code Playgroud)

输出:

{'password': '123123', 'name': '<my_name>', 'email': '<my_email>', '_id': ObjectId('<an_object_id_string>')}
Run Code Online (Sandbox Code Playgroud)

如何_id从输出中过滤字段?

sty*_*ane 13

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

data = db.author.find_one({'email' : email, 'password' : password}, {'_id': 1})
Run Code Online (Sandbox Code Playgroud)


小智 5

这是避免id的最好方法,

data = db.author.find_one({'email' : email, 'password' : password},{"password":1, "email":1, "name":1,"_id": False})
Run Code Online (Sandbox Code Playgroud)

现在你得到了 ANSWER "{'password': '123123', 'name': 'prakash', 'email': 'prakashprabhu48@gmail.com'}"(没有 id)