問題タブ [monk]

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 に答える
1380 参照

node.js - monk と node を使用して mongodb コレクションからアイテムのリストを取得する方法

現在、mongodb コレクション「メディア」から属性「タイトル」と「作成者」を取得するのに問題があります (特に、これらは説明のための 2 つにすぎません)。次のコードは、「undefined to console」を出力します。

また、サーバーが起動すると、コンソールに次のメッセージが表示されます。

"{ [エラー: モジュール '../build/Release/bson' が見つかりません] コード 'MODULE_NOT_FOUND'} js-bson: 純粋な JS バージョンを使用して、c++ bson 拡張機能を読み込めませんでした"

そのエラー メッセージを Google で検索した後、npm bson のインストールなど、いくつかの解決策を試しました。動作していないのは私のコードだけですか、それとも不足しているモジュール (またはその両方) ですか?

ありがとう、

ミュージカル

編集:@hassansinが非同期呼び出しについて提案したことに従って、私は次のことを試しました

mongoHandler は次のモジュールです。

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

node.js - mongodbで機能しない一意のIDを使用して配列要素を選択する

私のアプリケーションには、ストーリーを持つ「投稿」があります

ここで、ストーリー配列の複数のストーリーから 1 つの投稿とそのストーリーを 1 つだけ選択したいと考えています。

リクエストを通じて送信されたストーリーIDを持つストーリーのみと一緒に投稿を返したいのですが、ストーリー配列内のすべてのストーリーを返します

ここに画像の説明を入力

ここで、その投稿のすべてのストーリーを取得しています。必要なのは、ID が一致するストーリーのみです。req.body.storyId

この質問を確認した後、$elemMatchも使用してみましたが、それでも同じ結果が得られました

私も試しました

投稿文書の構造は次のとおりです。

私も$unwindを使ってみました

更新 1: 私はモンクを使用しているため、集計が機能していません

0 投票する
4 に答える
2269 参照

mongodb - monk を使用して mongodb で 2 つのフィールドのみを選択する

ドキュメントには約 20 のフィールドがあります

2 つのフィールドのみを選択し、他のフィールドを無視したい

ここで提案されているように、以下のコードを試しました

しかし、すべてのフィールドを返します。名前と地区だけ取得したい。

つまり、Name、District、Country、Pincode、PhoneNumber、emailId、photo、その他多くのフィールドがあります。名前と地区だけを選択したい。

PS他のすべてのフィールド名を0にする以外の方法を探しています

モンクを使っています

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

javascript - mongodb挿入は新しいスキーマを作成しますか

既に実行され、データを保存している既存の mongoDB サーバーを取得しました。これには、" name " と " id " というコレクションが含まれているとします。コマンドを使用してこれらのコレクションを保存しinsertます。ここで、新しいコレクションを追加する必要があります。「アドレス」としましょう。を使用して「アドレス」コレクションを追加することはできinsertますか? mongoDB は使用するたびに新しいスキーマを作成しinsertますか、それともスキーマを更新するだけですか? つまり、mongoDBは上記の 3 つを含む新しい スキーマを作成するのでしょうか、それとも既存のスキーマを新しいスキーマで更新するだけなのでしょうか? 既存のコードで自分自身をよりよく説明します:

今、私は新しいパラメータを追加してからvar env、次のように挿入したいと思います:

私が使用すると更新が機能する後のコードです(time_stampが存在すると仮定します):

ありがとう!

0 投票する
3 に答える
190 参照

mongodb - モンクを使用してmongodbで必要なフィールドを選択する

以下の方法を使用して、モンクを使用してmongodbで選択したフィールドのみを取得できます

fn should be a functionこれは正常に動作しますが、クエリにもう 1 つのオプションを追加すると、 3 番目のパラメーターが成功のコールバック関数であると予想されるため、エラーがスローされるという問題に直面しています。

試してみると、このエラーが発生します

成功関数を使用しようとしましたが、それでも同じエラーが発生しました

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

javascript - mongo / monk - promise.done を起動していませんか?

私は mongo/monk を使用して、CB の醜さを軽減するという約束を試みていますが、デバッグするのにもっと珍しい問題が発生しているようです (「今、2 つの問題があります」)。

根拠: https ://gentlenode.com/journal/node-4-monk-cheatsheet/45

コレクションをクリアしてデータを挿入するちょっとしたルーチンがありますが、on.complete または on.success が起動しません。

on("success")内部が発砲していない他の理由はありますか?質素なhttps://github.com/Automattic/monk#promisesの場合、ドキュメントはかなり明確に見え ます

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

node.js - Q で繰り返す

MongoDB にこのコレクションがあります (_id簡潔にするために s を省略しています)。

ではできない処理を各ドキュメントに対して実行する必要がありますdb.update()。要するに、私がする必要があるのは、一度に 1 つのドキュメントを取得し、Node で処理してから Mongo に保存することです。

私は Monk ライブラリを使用しており、プロミスには Q を使用しています。これが私がやったことです - 簡潔にするために処理/保存ビットを含めませんでした:

このコードが出力されると思います:

しかし、実際には次のように出力されます。

私は何を間違っていますか?

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

node.js - MongoDB $elemMatch プロジェクションは無視されました

Node.js、Koa、MongoDB、Monk を使用しています。

クエリで $elemMatch を使用すると正常に動作しますが、プロジェクションでは無視されます。

このようなデータがあります

そして私が欲しい:

「zipcode」を含む文書:「63109」

また、学生配列には、'studentId' が '2' であるサブドキュメントのみを含める必要があります (存在する場合)。

つまり、これが欲しい:

しかし、「学生」配列のすべてのサブドキュメントを取得しています。$elemMatch プロジェクションが無視されているようです。

私が使用しているクエリ:

これを達成する方法はありますか?

PS私は共同僧侶を使用しています。

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

node.js - Mongooseの代わりにmonkでpassport.jsを実行するには?

私はマングースの代わりにモンクから始めました - そして私は本当にこのままでいたいです!

私の具体的な問題: この次の機能 (多くの node/mongoose/passport.js チュートリアルに存在する) をモンクで転送またはより適切に「適応」させる方法は?

これはマングースのスニペットです:


// アプリ/モデル/user.js

// ユーザー モデルのスキーマを定義します

// ハッシュを生成する

// パスワードが有効かチェック

// ユーザー用のモデルを作成し、アプリに公開します

さて、私はすでにモンクスキーマを持っていますが、どうすればいいですか? 2 つの bcrypt 機能と、モデルの作成とモンクによるバックパスに相当するものを用意するためのヒントを誰か教えてもらえますか?