問題タブ [minimongo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - Meteor でコレクションのサブスクリプションを最適化するには?
Meteor.js を使用してフィルター処理されたライブ検索モジュールに取り組んでいます。
ユースケースと問題:
ユーザーは、すべてのユーザーを検索して友達を見つけたいと考えています。しかし、各ユーザーが完全なユーザー コレクションを要求する余裕はありません。ユーザーは、チェックボックスを使用して検索をフィルタリングします。一致したユーザーを購読したいです。それを行う最良の方法は何ですか?
クライアント側でクエリを作成し、それをメソッドに送信して、目的のユーザーのセットを取得する方がよいと思います。しかし、フィルタリング基準が変更された場合、新しいサブスクリプションは古いサブスクリプションをすべて消去するのでしょうか? なぜなら、 me を返す最初の検索を行い[usr1, usr3, usr5]
、その後me を返す検索を行う場合[usr2, usr4]
、最初のセットを保持し、新しいセットをクライアント側の購読済みコレクションに単純に追加するのが最善だからです。
さらに、[usr1、usr3、usr2、usr4] を返す必要がある 3 番目の調査を行った場合、自動実行されたサブスクリプションは、結果セット全体を既にコレクションに持っているため、何も送信しません。
目標は、サーバーからの処理とデータ転送を節約することです。
私にはいくつかのアイデアがありますが、簡単に包括的に共有できるほど十分にコーディングしていません。
時間とパフォーマンスの節約の観点から、可能な限り関連性を高めるために、どのようにアドバイスしていただけますか?
ありがとうございます。
デビッド
meteor - クライアントに送信する前に Meteor.publish のデータを変更する
次のユースケースがあります。
- フロントエンドとは別のサービスであるバックエンドの MongoDB に users テーブルがあります。DDP.connect() を使用して、このバックエンド サービスに接続します。
- 各ユーザーには一連の「サブジェクト」があります
users テーブルの各サブジェクトは、名前ではなく ID で参照されます。主題を ID で保持する「subjects」と呼ばれる別のテーブルがあります。
ユーザーをクライアントに公開したいのですが、公開されたユーザーに最初にサブジェクトを入力したいと考えています。
このブログ投稿に触発されて、次のことを試しました。
これにより、バックエンドで次のエラーが発生します:
Exception from sub users id akuWx5TqsrArFnQBZ Error: Could not find element with id XhQu77F5ChjcMTSPr to change
.
ということで、に変更_this.changed
してみました_this.added
。エラーは発生しませんが、クライアントの minimongo に変更が反映されていませpopulate
んconsole.log(user)
。
mongodb - meteor を使用して Web ページから mongo コレクションにデータを取得および設定する
言うまでもなく、私は流星に非常に慣れていません。meteor mongo と mini mongo (ブラウザー上) にデータを保存し、maleCount と femaleCount の値を維持したいと考えています。
私は数年後にコードを書いています。以下から表示します。「maleCount」と「femaleCount」の値をローカルの「post」コレクションに保存し、それらをセッションに取得して実行時に操作するのを手伝ってください。ありがとう。
Javascript コード -
common.js -
post.find('1').fetch() のようなクエリ; 時々エラーが返され、その値をオブジェクトに保存すると未定義が返されます。誰かが私を正しい方向に向けることができますか?
javascript - ドキュメントが追加され、直後に削除される
これが私の簡単なテンプレートです:
私の groupChat.html および groupChat.js ファイルでは:
新しいメッセージを送信すると、それが Mongol を使用して追加されていることがわかりますが (一瞬視覚的に)、すぐに削除されます。
なぜこれが起こるのでしょうか?
mongodb - ドキュメントが間違った順序で挿入され、自動的に修正されます
次のように、発行関数で最新の 200 件のメッセージのリストを取得しています。
これにより最新のものが最初になることはわかっていますが、最も古いものを最初にしたいので、クライアントで検索を行うときは、別の方法で並べ替えます。
新しいメッセージを入力するときを除いて、すべてが正常に表示されます。すべての古いメッセージを含むリストの最後に挿入されます。挿入がサーバーへの往復を行った後、リストの正しい末尾にジャンプします。
制限とクライアント側の並べ替えをなくして、すべてのメッセージを正しい順序でクライアントに渡すと、この問題は発生しません。
レイテンシー補正中にメッセージを正しい場所に表示するにはどうすればよいですか?