3

既に存在する Meteor コレクションにアクセスするにはどうすればよいですか? コレクションを参照する変数があるため、セッションでコレクションを作成するのは簡単ですが、名前でコレクションにアクセスすることはできません。

たとえば、最初に作成されていない新しいセッションで既存のコレクションからドキュメントを取得したい場合はどうなりますか。既存のコレクションを新しい変数名に割り当てることを期待して「再作成」しようとしましたが(名前で見つけることができないことを確認してください)、コレクションが既に存在することを示すエラーがスローされます存在します。

4

1 に答える 1

0

meteor 経由でアクセスしている、外部で生成されたコレクションがいくつかあります。これがあなたの質問に 100% 答えられるかどうかはわかりませんが、少なくとも役立つことを願っています。

1 つの落とし穴 (完全を期すために、ここでは当てはまりません) は、コレクションがMeteor によって作成されていない場合、環境変数をエクスポートして Meteor が DB を指すようにする必要があることです。たとえば、次の env. 変数はシェルにエクスポートされます:

MONGO_URL=mongodb://localhost:3002/foo

...そして、流星アプリケーションを呼び出すと、MongoDb の db "foo" がポイントされます。その時点で、@Akshat が上記のコメントで述べているように、コレクションを定義するだけです。

collection = new Meteor.Collection("fooCollection") // this lives inside the foo DB.

Meteor によって既に作成されているコレクションを扱っている場合、デフォルトでは、それらは meteor db 内にあります。例:

MONGO_URL=mongodb://localhost:3002/meteor

...そして、同じ方法で簡単にフックできるはずです。コレクションを宣言して、好きなように使用するだけです。明らかに、作成する必要はありません。

あなたはすでにこれを行っているように聞こえますが、私のような他の初心者にとっては、このような場合、Chrome、Firefox などでコンソールを使用し、そのように挿入を行うと非常に便利です。データがどこに到達するかがわかります。または、問題を解決するのに役立つ他の良い情報が表示されます.console.log()は私のベーコンを数回保存しました.

いずれにせよ、Meteor アプリが指している場所と、あなたが指していると思われる場所を正確に検証することは価値があります。あなたのコレクションはアクセス可能で、ただ動くべきです...

于 2013-02-01T17:48:13.677 に答える