2017-04-14 373 views
1

開發人員,MongoDB中.eval的智能替代

該主題看起來可能重複,但我仍在尋找解決方案。

作爲企業應用程序的一部分,已經在MongoDB(3.4)中創建了超過100多個函數,它只需要輸入,處理/聚合MongoDB中的數據並返回結果集。

我使用Java調用這些函數(基本上嵌入.js腳本)並使用結果。 Java使用.eval來調用。雖然.eval仍然有效,但這已被棄用,並可能在未來版本中刪除。它也可能不適用於分片羣集。

我的問題:

  1. 哪些.eval替代的Java?我明白一個答案是在java代碼本身中實現.js。但是這需要大量的開發工作。有沒有一種方法可以讓Java在不通過.eval路由的情況下使用這些函數?

  2. .eval在分片集合中不起作用。什麼是聰明的選擇?

TIA的幫助, 阿肖克

+1

如果您有Java應用程序不使用JavaScript,請改用[Java MongoDB驅動程序](https://docs.mongodb.com/ecosystem/drivers/java/) – Robert

回答

1

評估和演示操作,現在已被棄用。在服務器上執行JS是實現批處理所需的唯一方法。所以你切換到java mongoDB driver而不是編寫存儲過程。