2012-06-14 37 views
1

我在看克里斯蒂娜的書,並且在介紹章節的最開始部分,我讀到了MongoDB只要可能就將邏輯和處理卸載到客戶端。MongoDB如何卸載邏輯和處理到客戶端?

有人可以請詳細解釋一下嗎?

只要有可能就說什麼,這是什麼時候?它如何確定它是否可能?

還有關於處理和邏輯...什麼是一些例子?像插入或更新正在完成客戶端而不是服務器端?

回答

1

作者正在描述MongoDB的一個設計原則。

下面是一些MongoDB的卸載處理,以將客戶端的方法:

  • 對象ID通常產生和由客戶端提供
  • 由於蒙戈是無架構中,客戶端是負責確保所有必填字段都存在且包含有效數據(值得注意的例外:約束唯一索引)
  • 沒有聯接:這種聚合通常需要由客戶端完成
  • 聚合函數受到嚴重限制(儘管存在再來一些更多的在v2.2)

插入,更新,或任何類似的都不是由客戶端以任何重要的方式處理。