2013-04-29 1 views
1

MongoDB를 다음 프로젝트에 사용할 것을 고려하고 있지만 먼저 내 응용 프로그램에 필요한 기능을 지원하는지보고 싶습니다. 지금까지는 MongoDB 문서에서 유용하다고는 생각지 못했지만 어쩌면 틀렸을 것입니다.Mongo DB 스토어드 프로 시저 대체

기본적으로 사용자 설문지 (여러 답변 옵션이있는 수백 가지 질문 일 것입니다)가 있습니다.

사용자가 설문지를 작성하고 답변을 다른 모든 기존 사용자의 답변과 비교해야하는 경우 일종의 일치하는 비율을 계산해야하며 일 경우이 데이터베이스에 저장됩니다. db로 저장할 필요가 있다고 생각하는 이유는 일치하는 백분율의 계산이 많은 프로세스 인 것 같아서 일치 백분율을 요청할 때마다 실행하고 싶지 않기 때문입니다.

그래서 내가 찾고있어 기능입니다 :

  • 나는 새 사용자의 모든 답변을하는 과정에서 매개 변수 (새 사용자 ID)를 갖는 프로 시저
  • 를 호출.
  • 새 사용자의 답변에 대한 모든 기존 사용자의 답변에 대해 일치하는 코드를 실행합니다.
  • 결과를 다시 데이터베이스에 저장합니다. 클라이언트 응용 프로그램

MongoDB에 이러한 요구 사항을위한 도구가 아닙니다 것을 잘 수에 DB에서 데이터를 반환 할 필요없이 하나의 호출로이 모든 것을 수행

  • .

  • +0

    실제로 MongoDB는 좋은 일치는 아닙니다 (아무도 작성한대로 요구 사항을 지원하지 않습니다). – WiredPrairie

    +0

    @ WiredPrairie 아마 'SQL 데이터베이스가 마음에 듭니다.'라는 뜻일 것입니다. 모든 SQL 데이터베이스는 필요한 모든 것을 수행 할 수 있습니다. 그러나 SQL 데이터베이스가 많은 양의 사용자에게 적합하지 않을까 걱정됩니다. – Dmitry

    +0

    예, "다른 NoSQL 데이터베이스"에 대한 귀하의 의견을 아래에서 보았습니다. 물론 많은 SQL 옵션이 원하는대로 할 수 있습니다. :) – WiredPrairie

    답변

    1

    MongoDB Stored Procedure Equivalent을 살펴보십시오. 일반적으로 자바 스크립트로 이러한 작업을 수행 할 수 있어야합니다.

    +1

    이들은 저장 프로 시저가 아니며 좋은 연습이 아닙니다. – Sammaye

    +0

    맞습니다. http://docs.mongodb.org/manual/tutorial/store-javascript-function-on-server/ 적어도 나는 그것을하지 못했습니다 :) –

    +0

    MongoDB는 작업에 적합한 도구가 아닙니다. 다른 NoSQL 데이터베이스에 대한 권장 사항은 무엇입니까? – Dmitry

    관련 문제