0
我正在編寫一個使用MongoDB作爲存儲後端的API。假設API允許消費者查詢即將發生的事件。假設一些事件是私人的,對於當前用戶,不應該出現在結果中。 應該我:哪裏是使用mongodb在api中存儲約束的最佳位置
- 在API級別執行此操作。 API代碼將負責這些檢查。好處似乎是,如果我更改存儲引擎(不太可能),業務代碼將完好無損。
- 將此實現爲存儲的JavaScript函數。
我正在編寫一個使用MongoDB作爲存儲後端的API。假設API允許消費者查詢即將發生的事件。假設一些事件是私人的,對於當前用戶,不應該出現在結果中。 應該我:哪裏是使用mongodb在api中存儲約束的最佳位置
在API級別,因爲您提到的原因:您獨立於應用程序的基礎存儲機制。
一個很好的指導方針是持久性無知:使您的業務邏輯儘可能少地意識到存儲機制。這意味着業務邏輯不應該位於您的存儲層。所以存儲過程或存儲的JavaScript函數不應包含業務邏輯。這樣的一些優點:
你應該存儲在MongoDB中的唯一函數是'utility'函數;簡化常用操作的函數,例如字符串操作,但不以任何方式與您的業務邏輯綁定。