2010-08-25 36 views
0

我正在編寫一個使用MongoDB作爲存儲後端的API。假設API允許消費者查詢即將發生的事件。假設一些事件是私人的,對於當前用戶,不應該出現在結果中。 應該我:哪裏是使用mongodb在api中存儲約束的最佳位置

  1. 在API級別執行此操作。 API代碼將負責這些檢查。好處似乎是,如果我更改存儲引擎(不太可能),業務代碼將完好無損。
  2. 將此實現爲存儲的JavaScript函數。

回答

0

在API級別,因爲您提到的原因:您獨立於應用程序的基礎存儲機制。

一個很好的指導方針是持久性無知:使您的業務邏輯儘可能少地意識到存儲機制。這意味着業務邏輯不應該位於您的存儲層。所以存儲過程或存儲的JavaScript函數不應包含業務邏輯。這樣的一些優點:

  • 你可以換用最小的努力底層數據庫,而不必在新數據庫中重新實現你的業務邏輯。
  • 所有業務邏輯都包含在應用程序層中,使代碼庫更易於理解和調試。

你應該存儲在MongoDB中的唯一函數是'utility'函數;簡化常用操作的函數,例如字符串操作,但不以任何方式與您的業務邏輯綁定。

相關問題