0

私はmongodb(java)の初心者です。

リレーショナルデータベースのプロシージャに似たものを使用して、コマンドのリスト(リレーショナルのクエリ)を実行する必要があります。

mongodbで可能ですか?

4

2 に答える 2

2

MongoDB には、ストアド プロシージャの実際の意味はありません。サーバー側の機能がありますが、これらの機能は次のとおりです。

  • シャーディングを使用しないでください
  • 遅い
  • 評価する必要があります (Dr. Evil)
  • 多くの場所に共通コードの複数のコピーを格納する必要がないように、Map Reduce 内で使用するように設計されています。

$whereただし、 内で実際の関数名を使用またはevaling することで実現できますsystem.js。しかし、これらは実際には「サーバー側」で実行されません。

アプリで type コマンドを使用しexecてシェルを呼び出すこともお勧めできません。シェルで実行するスクリプト ファイルは、独自のアプリと同じくらいクライアント側であるため、無意味です。

MongoDB もトリガーを許可しませんが、トリガーは JIRA: https://jira.mongodb.org/browse/SERVER-124内にありますが、スケジュールされていません。コーディング内のクライアント側にトリガーを配置する必要があります。

リレーショナルのクエリ

NoSQL はリレーショナルではありません。MongoDB の適切なスキーマを設計する方法を読みたいと思うかもしれません。ここが出発点です: http://www.mongodb.org/display/DOCS/Schema+Design。これにより、MongoDB の本質と、適切な構造を選択する方法を学ぶことができます。

于 2012-08-30T13:16:32.390 に答える
1

はい、サーバー側のjavascript関数を作成できます。しかし、私はそれに反対することをお勧めします。

  1. かなり遅い。
  2. バージョン管理されていません。

続きを読む:http ://www.mongodb.org/display/DOCS/Server-side+Code+Execution#Server-sideCodeExecution-Storingfunctionsserverside

于 2012-08-30T13:08:54.787 に答える