直截了當:
我在 1 秒內從同一臺機器(用戶)或不同的機器(用戶)單擊按鈕兩次。它正在創建兩個檔案(重復)。
簡而言之可能是如何并行或并發地處理多個 API 呼叫。
我懷疑的是:
- Nodejs采集API呼叫->
db.find(name)->NotFound->Creating New document(Its running)
在上述檔案創建完成之前。Nodejs 開始執行下一個 API 呼叫。
- Nodejs 收集 API 呼叫 ->
db.find(name)-> Not Found -> Creating New document。
示例代碼: 這里創建了兩個同名帳戶。
const userPresent = await User.findOne({
phoneNumber: data.phoneNumber,
});
if (userPresent) {
throw new CustomError("OIC_ERROR_00027", "User already present");
}
// new account created
const newAccount = await new Account({
name: data.name,
}).save();
uj5u.com熱心網友回復:
您可以嘗試為您的產品名稱創建唯一索引。這將導致您的產品名稱沒有任何重復。
db.collection.createIndex( {"name":1} , { unique: true } )
uj5u.com熱心網友回復:
問題是我autoindex: false在連接到 MongoDB 時給出的選項。所以資料庫沒有indexing在貓鼬模式中執行命令。我洗掉了autoindex: false并遵循了@koodies 指導。感謝現在作業!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/360665.html
