簡體   English   中英

確認 MongoDB 數據庫中是否已存在 email

[英]confirming if an email already exists in a MongoDB database

我編寫了這段代碼來檢查數據庫中是否已經存在 email:

async store (req,res) {
const email = req.body.email;

let user = await User.findOne ({ email: email });

if (user) {
    console.log('Already exist.')
};
(...)
}

但它不起作用:我可以將信息存儲在用戶集合中,但它的 email 未經驗證。

我正在使用 Mongoose。

我做錯了什么?

您需要在最后使用exec()來實際運行查詢:

let user = await User.findOne({ email: email }).exec();

此外,由於您使用的是await ,請確保包含 function 被標記為async

我可以給你的信息有限,因為你只是說“它不起作用”。 這並不能告訴我任何事情。 你運行它並且沒有任何反應嗎? 它會給你一個錯誤嗎? 這個網站上的人不喜歡聽到這樣的話:“它不起作用”。

db.Collection.find({ /* criteria */}).limit(1).size();

您尚未描述您的用例,但如果您希望避免 email 沖突,使用 mongoose,當您定義對象的架構時,您可以使用unique: true選項。 然后它將拒絕提交已存儲的 email 的任何新用戶或更新用戶。

暫無
暫無

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

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