我有一組節點工作服務器處理命中api並將數據插入到mongo數據庫中。我遇到的問題是這些功能中的一個出現在每個窗口中,因此經常插入同一文檔的兩個副本。它檢查文件是否已經有像這樣的查詢創建:節點集羣:確保一次只有一個函數實例正在運行
gameDetails.findOne({ gameId: gameId }, function(err, gameCheck) {
if (!gameCheck) { //insert the document };
我怎樣才能確保此功能始終是一次只能運行一個實例。或者,如果我沒有推導出實際的根問題,那麼可能會導致這樣的mongo查詢有時會導致包含相同gameId的同一文檔的多個要插入的內容?