19

さまざまなリアルタイム ロギング アプリケーションに Meteor を使用する予定です。私の要件は非常に単純です。さまざまなアプリケーションからログ メッセージをリクエスト パラメータ (POST または GET) として渡し、Meteor は単にコレクションを更新する必要があります。Meteor サーバー コードで要求パラメーターにアクセスし、受信した logMessage で Mongo コレクションを更新する必要があります。Mongo Collection を既存のアプリケーションから直接更新することはできないため、同じことを示唆する返信はしないでください。Meteor フレームワークからそれを行う方法を知りたいのですが、パッケージを追加することはできません。

4

5 に答える 5

9

カスタム リクエストを処理するために Meteor アプリケーションにルーターを追加する回避策を見つけました。

meteor に同梱されている connect ルーター ミドルウェアを使用します。余分な依存関係はありません!

これをサーバーの Meteor.startup の前/外側に配置します。(コーヒースクリプト)

SomeCollection = new Collection("...")
fibers = __meteor_bootstrap__.require("fibers")
connect = __meteor_bootstrap__.require('connect')
app = __meteor_bootstrap__.app

router = connect.middleware.router (route) ->
  route.get '/foo', (req, res) ->
    Fiber () ->
      SomeCollection.insert(...)
    .run()
    res.writeHead(200)
    res.end()
app.use(router)
于 2012-10-10T12:44:29.520 に答える
2

IronRouter を使用すると、とても簡単です。

var path = IronLocation.path();
于 2014-06-12T10:59:55.957 に答える
0

現状では、サーバー側のルーティングや、URL がヒットしたときのサーバー側での特定のアクションはサポートされていません。ですから、やりたいことをするのは簡単ではありません。ここにいくつかの提案があります。

  1. おそらくoauth2、auth ブランチのパッケージで使用されている手法を借りることで、目的を達成できます: https://github.com/meteor/meteor/blob/auth/packages/accounts-oauth2-helper/oauth2_server.js#L100 -109

    ただし、これは実際にはサポートされていないため、良いアイデアかどうかはわかりません。

  2. 他のアプリケーションは、DDP を使用してコレクションを実際に更新できます。これはおそらく思ったより簡単です。

  3. POST/GET リクエストを受け入れ、DDP を使用して Meteor サーバーと通信する中間アプリケーションを使用できます。これはおそらく技術的に最も簡単な方法です。

于 2012-08-06T03:08:14.877 に答える
-1

多分これはあなたを助けるでしょうか? http://docs.meteor.com/#meteor_http_post

于 2012-08-04T03:56:25.117 に答える