問題タブ [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 に答える
420 参照

mongodb - MongoError: $each 用語は補数として $slice (およびオプションで $sort) のみを取ります

プレイリストをmongoDBに保存するラジオ自動化アプリを作成しています。コレクション内の各ドキュメントは次のplaylistsようになります。

このクエリを使用して、特定の位置に要素の配列を挿入しようとしています:

(insertArrayは挿入する要素の配列です。 insertPosは、配列を挿入する位置を含む変数です。)

MongoDB で次のエラーが表示されます。MongoError: $each term takes only $slice (and optionally $sort) as complements

Meteor 0.9.2.2 の mongoDB バージョン 2.4.9 を使用しています。つまり、実際には mongoDB をエミュレートする minimongo にクエリを実行しています。

0 投票する
0 に答える
109 参照

javascript - MongoDBv2.4/minimongoで配列の途中に要素を挿入する方法

最新バージョンのMeteor (新しい Web フレームワーク)を使用して音楽組織アプリを作成しています。プレイリストを保存する最良の方法は、各プレイリストをドキュメントに入れ、プレイリストのアイテムをドキュメント内に配列で配置することだと思います。次のようになります。

私の問題は、その minimongo (Meteor の純粋な JavaScript MongoDB 実装) が MongoDB 2.4 しかサポートしていないことです。つまり、$position演算子を使用してプレイリスト要素をプレイリストの途中に挿入することはできません。これを回避する最善の方法は何ですか? MongoDB 2.6 より前に、配列の途中にアイテムを挿入する方法が誰もなかったとは信じられません。または、minimongo に簡単にパッチを適用する方法があるかもしれません。

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

meteor - Meteor Accounts-Entry どのように extraSignupField がデータベースに保存されないようにするのですか?

account-entryWeb アプリのサインイン/サインアップ アクションを処理するためにMeteor のパッケージを使用しています。サインアップフォームにフィールドを追加するためにConfirm Password、これは私が行ったことです(CoffeeScriptで):

このアプローチの問題は、confirmPasswordフィールドをデータベースにも保存するため、誰かがデータベース > ユーザー コレクションにアクセスすると、フィールド内のすべてのユーザーのパスワードを明確に見ることができるということconfirmPasswordです。これは非常に悪いことです。

この問題を解決する方法はまだわかりません。特定のフィールドをデータベースに保存するかどうかを決定する属性があると思いますが、まだわかりません! (accounts-entryパッケージのドキュメントは私には十分に詳細ではないようです。私は言わなければなりません:( )

この問題を手伝ってくれませんか?よろしくお願いします!

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

meteor - MeteorJS Mini Mongo はディスクを使用しますか? それともただの記憶?

mini mongoMeteorJS (明確にするために、クライアント上) がメモリ (RAM) から、またはディスク (おそらくローカル ストレージ) からデータを取得するかどうかを知りたいです。また、ディスクに書き込むと、オブジェクトが受信されます。パフォーマンス (およびアプリの応答性) が気になります。

0 投票する
0 に答える
66 参照

meteor - Jasmine が Meteor で minimongo エラーをスローする

私のコードはここにあります(coffeescriptで):

Meteor で実行すると、次のように不平を言います。

Error: TypeError: Cannot read property '_docs' of undefined at [object Object].LocalCollection.Cursor._getRawObjects (/Users/user/WebstormProjects/mud-craft/.meteor/local/build/programs/server/packages/minimongo.js:512:18) at [object Object].LocalCollection.Cursor.count (/Users/user/WebstormProjects/mud-craft/.meteor/local/build/programs/server/packages/minimongo.js:260:15) at Object.<anonymous> (/Users/user/WebstormProjects/mud-craft/tests/jasmine/server/unit/sample_server_test.coffee:6:5)

しかし、製品コードでは問題ありません。

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

collections - Meteor の collection.insert でサーバー側の挿入を強制する方法

papa-parse を使用してブラウザー側で処理している 40,000 行の単純な CSV ファイルがあります。

Discover Meteor や、Google で見つけた他の 101 件の投稿のテクニックを使用して、それらを 1 つずつコレクションに挿入しようとしています。

40000 はブラウザー側でかなり迅速に挿入されますが、mongo サーバー側を確認すると、387 レコードしかありません。

最終的に (通常は 20 秒程度)、サーバー側への挿入が開始されます。しかし、ブラウザを閉じたり中断したりすると、既に挿入されているレコードは明らかに消えます。

挿入をサーバー側に強制する方法、または少なくとも監視して、ユーザーに成功をいつ通知するかを知るにはどうすればよいですか?

Tracker.flush() を試してみました違いはありません。

Meteor.method でサーバー側の挿入を行いますが、すべてのサーバー側の CSV ライブラリは、クライアント側よりも操作が複雑です (私はほとんどすべてのプログラミングの初心者です :)

ありがとう!


これは私のコードの主要部分です(クライアントフォルダー内):


コンソール出力の最後の数行:


CSV (ランダム生成データ) の最後の数行:


hello テンプレートは明らかに単純なフォームで、ファイルを選択して送信するだけです。クライアント コードは client ディレクトリの下にあります。アプリケーション ルートのファイルで定義された人物。複雑さを避けるため、現時点では CSV は文字列として解析されます。挿入されたレコードは問題ないように見え、名前で取得します。

コンソールの Person.find().count() ブラウザ側では 40000 になります。

このファイルはわずか 1.5 MB で、ランダム データであり、機密ではありません。