問題タブ [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.

0 投票する
1 に答える
35 参照

javascript - Meteor で動的変数を使用して別の変数の値にアクセスしますか?

そのため、健全性を保つためにコードをよりモジュール化しようとしています (また、同じコードを 5 つ以上の異なる方法で記述するよりも効率的と思われるため)。

ただ、JavaScriptの知識が不足しているようで、壁にぶつかっています。さまざまなユニット タイプを購入するためのメソッド呼び出しがあります。プレーヤーが特定のタイプのユニットを十分に持っていること、citizensまたはsoldiersより高度なタイプのユニットをトレーニングする前に確認したい . より高度な型をインクリメントすることは、まだ取り組んでいる問題ではありません。基本ユニットが最小量で存在するかどうかを判断しようとしているだけです。citizen.workerssoldier.specific

現在使用しているものは動作しません。タイプ変数は評価されていませんが、デフォルトで「市民」にしたい場合は「タイプ」として通過しています。変数を 2 つの場所で使用しています。評価目的の if ステートメントと、特定のフィールドの数を減らすための DB 更新です。

現在のコード:

あちこち検索しましたが、探していたものや、必要なものに適用できるものさえ見つかりませんでした. どんな助けでも素晴らしいでしょう。

編集: はい、javascript のデフォルト値を間違って使用していることに気付きました。私は自分のコードでそれを変更しました。David Weldon が回答した計算値は、私がより具体的に求めていたものです。

0 投票する
1 に答える
161 参照

javascript - データがそこにあるにもかかわらず、findOneは未定義をスローします

私はMeteorが初めてなので、遊んでいて、今はこの問題に悩まされています。

React Router を使用して、URL /(:userId) に基づいてテーマを表示しようとしています。URL に userId が挿入されていない場合は現在のユーザーのテーマが表示され、現在のユーザーが存在しない場合はデフォルトのテーマが表示されます。

ランダムに動作しています。正しいテーマを取得することもあれば、データが存在する場合でも、themeColor を読み取るときに undefined がスローされることもあります。console.log で、常に正しい ID を取得していることがわかりますが、それでも findOne は undefined をスローする可能性があります。これは特に、URL (/xyz) を変更してデフォルト (/) に戻すと発生します。

userId が themeColor と themeTextColor の実際の所有者であることをコンソールで確認しました。

React、React-router、autopublish を使用しています。私は不安を取り除きました。

0 投票する
2 に答える
413 参照

meteor - コンソールからすべてのクライアント側コレクションを見つけることは可能ですか?

meteor.js アプリケーションがあり、すべてのクライアント側コレクションに含まれる情報を調べたいと思います。約 20 のクライアント側コレクションがあり、それらに 1 つずつアクセスして、次のようにドキュメントを返すことができることを知っています。

しかし、クライアント側にあるすべての meteor.js コレクションを取得してループする方法があるかどうか疑問に思っています。誰でもこれを行う方法を提案できますか?

0 投票する
2 に答える
760 参照

mongodb - Meteor React - 存在するのに、単一のドキュメントの findOne が miniMongo で見つからないのはなぜですか?

これはとても奇妙な問題です。ドキュメントのクエリ方法に関係していると思います。Meteor API はドキュメントをクエリするように変更されたようですが、Web サイトのドキュメントは同じです。

データベース内のドキュメントは次のとおりです。

すべてのドキュメントを取得するためにサブスクライブしました。ドキュメントを取得するためにコンソールで試しているのは次のとおりです。

React を使用して新しい Meteor プロジェクトを開始しました。コレクションが戻ってきたようです_id: MongoId.ObjectId

MongoID.ObjectIDこれは違います。私はしばらくの間 Blaze で Meteor を使用してきましたが、文字列だけでなくMeteor が戻ってきたことを思い出せません。

しかし、今、その 1 つのドキュメントだけを見つけようとしても、うまくいきません。

私は正しい_idフィールドを求めて列に並んでいると確信しています。IDを2回確認しました。この 1 つのドキュメントを見つけようとしてもうまくいかないのはなぜですか?

ドキュメントを照会する方法を教えてください。Meteorで何か変わった?ドキュメントには、ID文字列で検索できるとまだ書かれています。

0 投票する
2 に答える
56 参照

mongodb - Meteorでコレクションのファイル名を動的に指定する方法は?

私は今これらのコードを持っています:

しかし、動的に子フィールド名を付けたいと思います。

ファイル名を動的に指定するにはどうすればよいですか? ありがとう

0 投票する
2 に答える
231 参照

mongodb - Meteor Pub/Sub の動作

現在、アプリにリアルタイム検索機能を実装していますが、混乱している動作に遭遇しました。

背景は次のとおりです。サーバー上の同じ MongoDB データベースから 2 つのサブスクリプションを持っていますposts

  1. 最初のサブスクリプションは、最新の 50 件の投稿をサブスクライブし、データを MiniMongo コレクションに送信しますPosts

  2. 2 番目のサブスクリプションは、ユーザーが入力した検索に一致する投稿をサブスクライブし、このデータを以下のように MiniMongo コレクションに送信しPostsSearchます。

    /li>

私の質問は、ドキュメントからわかっていることです:

コレクションを作成するときに名前を渡すと、永続的なコレクション (サーバーに保存され、すべてのユーザーに表示されるコレクション) が宣言されます。クライアント コードとサーバー コードはどちらも、同じ API を使用して同じコレクションにアクセスできます。

ただし、これは当てはまりませんPostsSearch。ユーザーがクライアントで検索を開始すると、機能は期待どおりに完全に機能し、正しいカーソルがクライアントに送信されます。

ただしpostsSearch、MongoDB データベースに a が表示されず、同様に、PostsSearch自分以外のクライアントにもデータが取り込まれていません。

これはどのように起こっていますか?カーソルをクライアントに送信することはself.added("postsSearch", id, fields);できますが、MongoDB データベースには送信できません。