簡體   English   中英

如何使用Pymongo在MongoDB中選擇單個字段?

[英]How to select a single field in MongoDB using 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')

輸出:

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

如何從輸出中過濾_id字段?

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

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

您需要在查詢中傳遞第二個對象。 第一個參數是select子句,而第二個參數是投影。

有關詳細信息,請參閱MongoDB文檔: https//docs.mongodb.org/manual/tutorial/project-fields-from-query-results/

這是避免身份證的最好方法,

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

現在你得到了答案“{'密碼':'123123','名字':'prakash','電子郵件':'prakashprabhu48@gmail.com'}”(沒有id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM