2016-12-02 12 views
0

MeteorをReact Native(これまではAndroidのみ)アプリケーション用のバックエンドサーバーとして設定しようとしていて、React Native Meteor Boilerplateを出発点として使用しました。ここでローカルポートにサーバーを設定してから接続しますそれをデバイス上に表示します。 Meteorクライアント/サーバーインターフェイスは非常に動的ですが、なぜアプリケーションがサーバーコードの変更で更新されないのか混乱しています。例えば:アプリでMeteorサーバー側のデータを変更し、ネイティブ・アプリにReact Publishする方法を教えてください。

var seed =() => { 
if (Details.find().count() === 0) { 
    for (let i = 0; i < 10; i++) { 
    Details.insert({ 
    name: `Detail #${i}` 
    }); 
. . . 

を表示項目の詳細#0、詳細#1、などのリストビューしかし、私はこのコードを変更する場合は、単語を削除して言う「詳細は、」アプリが一時的にロードを示していアイコンをクリックしますが、サーバを再起動したりログアウトしてアプリに戻ったりしても、同じリストを再表示します。

サーバー上のデータを変更して、アプリケーションに反映させるにはどうすればよいですか?私の変更が表示されないようにキャッシュされていますか?事前にお礼します

+1

サーバを実行したままにして、別の端末を開き、アプリのディレクトリに 'meteor shell'を実行するとどうなりますか?このシェルで 'Details.insert({name: 'Testing 1、2、3'})'を実行し、クライアントが新しい項目を受け取るかどうかを確認してください。 – JeremyK

+0

また、既に詳細に項目がある場合、このコードはリストを変更しません。それが同じリストを再表示するのはなぜですか? – JeremyK

+0

@JeremyK - 返信いただきありがとうございます。そして、私がDetails.insertを行うと、アプリで更新されます.woohoo!明らかに、私はMongoDBを使って作業することについてもっと学ぶ必要があります。あなたが「Mongoを学ぼう!私はそれを答えとして受け入れるでしょう。再度、感謝します! – kwishnu

答えて

0

リストビューにアイテムが表示され、アイテムがある場合、Details.find().count() === 0falseと評価されますので、コレクションは実際には変更されません。
私はあなたがそれが再表示され、同じリスト "

をあなたのコレクションで何が起こっているかをデバッグするための簡単な方法は、あなたが、追加、削除、または項目を変更することができMeteor Shellを、使用することであると述べている理由です疑いますあなたのコレクションでは、クライアント上で何が起こるかを観察しながら。

+0

あなたは絶対に正しいですが、いったんそれらのドキュメントが挿入されると、その機能の一部が決して評価されないことを忘れてしまいました... oops。シェルのヒントもありがとう、私はMeteorとMongoDBの両方について学ぶべきことがたくさんあることがわかりました。そして、私は確信しています。 – kwishnu

関連する問題