[英]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.