2013-04-29 96 views
1

我正在考慮爲我的下一個項目使用MongoDB,但首先我想看看它是否支持我的應用程序需要的功能。到目前爲止,我沒有在MongoDB文檔中看到任何對我有用的東西,但也許我錯了。MongoDB替代存儲過程

基本上會有用戶問卷調查(可能是數百個具有多個答案選項的問題)。

一旦用戶填寫問卷,他的答案需要與所有其他現有用戶的答案進行比較,需要計算某種匹配百分比,並將可能保存到數據庫。我認爲它需要保存到數據庫的原因是匹配百分比的計算似乎是一個沉重的過程,我不希望每次請求匹配百分比時運行它。

所以我正在尋找的功能是

  • 調用帶有一個參數(新用戶ID)的程序
  • 在我需要獲得新用戶的所有答案的過程。
  • 針對新用戶的答案,針對所有現有用戶的答案運行匹配代碼。
  • 將結果保存回數據庫中。
  • 做了這一切與一個呼叫,而無需從數據庫數據返回到客戶端應用程序

它非常有可能是MongoDB是不是這些需求的工具。

+0

事實上,MongoDB絕對不是一個很好的匹配(並沒有想到會支持你的要求寫作)。 – WiredPrairie 2013-04-29 22:22:43

+0

@WiredPrairie你可能的意思是'只有SQL數據庫纔會想到'。任何SQL數據庫都可以完成我所需的一切。但是,我擔心SQL數據庫在大量用戶中表現不佳。 – Dmitry 2013-04-29 23:52:21

+0

是的,我在下面看到了關於「其他NoSQL數據庫」的評論,這就是我所指的。當然,許多SQL選項可以做你想做的。 :) – WiredPrairie 2013-04-30 00:03:40

回答

1

看看MongoDB Stored Procedure Equivalent。一般來說,你應該可以用JavaScript來做這些事情。

+1

這些不是存儲過程,它們也不是很好的做法 – Sammaye 2013-04-29 20:14:44

+0

你是對的。 http://docs.mongodb.org/manual/tutorial/store-javascript-function-on-server/至少我從來沒有這樣做:) – 2013-04-29 20:34:33

+0

我想那麼MongoDB不是適合這項工作的工具。對其他NoSql數據庫的任何建議? – Dmitry 2013-04-29 20:55:15