問題タブ [mongojs]
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.
node.js - mongodb で複数の更新が部分的に失敗した場合、ロールバックする方法は?
複数の更新はアトミックではなく、プロセス中に更新クエリが失敗する可能性があることを理解しています。エラーは で見つけることができますgetLastError
。しかし、その特定のクエリで既に行われた更新をロールバックしたい場合はどうすればよいでしょうか? 退屈な 2 フェーズ コミットよりも簡単な方法はありますか?
たとえば、何人かのユーザーとその電話モデルの単純なコレクションがあるとします。現在、Nexus 4 から Nexus 5 を持っているすべてのユーザーに対して複数の更新を行っています (夢のようですよね?)。唯一の条件は、すべてかまったくないかです。そのため、N4 ユーザーが 1 人でも取得できなければ、すべての N5 が取り消されます。さて、どういうわけかmongodbが途中で失敗し、N4の数人のユーザーとN5の数人のユーザーで立ち往生しています。さて、私がネットから集めたのは、mongo を直接ロールバックさせることはできないということです。操作が失敗した場合は、N5 ユーザーを手動で更新して N4 に戻す必要があります。そして、それがうまくいかない場合は、それを繰り返してください。または、複雑なコレクションがある場合は、新しいキーを保持する必要があります。Status
キーワードupdates / updatedで更新します。
これは私が理解していることです。もっと簡単な方法があれば知りたいと思いました。コメントから、答えは大したことではないと思います。
node.js - Node.js mongojs mongoDB インターネット層
私はどこを見ても、mongojsがmongodbとの接続に使用するプロトコルを見つけることができません。UDPかTCP/IPかHTTPかを指定するドキュメントを誰かに見せてもらえますか
node.js - n より大きい値を持つ最初のドキュメントを見つけるための MongoDB 集計
イベント ドキュメントの大規模な (数十万) コレクション (たとえば、以下を参照) がある場合、_idが( n )より大きい最初のイベントを取得する最もパフォーマンスの高い方法は何ですか?
文書例
現在の実装
多くのイベントのコレクションを指定して、_id が 35 より大きい最初のイベントを取得します。
まず、集計を使用してイベントのIDを取得します。
これは、サイズが不明な完全なドキュメントを循環するよりも、投影フェーズ (ID のみを返す) の方がパフォーマンスが高いと想定して行います。
次に、返された _id を使用して findOne を呼び出し、そのドキュメントを取得します。
あなたの考えは何ですか?
node.js - Node.js + mongoDB、mongojs $in 演算子のエラー
mongojs をドライバーとして mongoDB で node.js を実行しています。次の問題があります。
_id 配列を使用してビジネス コレクションをクエリしようとしましたが、以下のようにクエリを動的に作成しようとすると、長さ 0 の配列が返されますが、これは間違っています。
次のことを試してみると、正しい 3 の配列が返されます。
誰かが私が間違っているところを教えてもらえますか? よろしくお願いします。
よろしく、 チダン
node.js - MongoDB スコープの問題で複数のコレクションを照会する
MongoJS (node.js mongodb ラッパー) を使用して 2 つの個別のコレクションをクエリして、EJS を使用してビューでレンダリングするオブジェクトの配列を構築しようとしています。
私が遭遇した問題は、スコープに関係しているようです。
配列を正しい場所でインスタンス化してmembers[]
、子関数で使用できるようにしていると思いますが、まだこのエラーが発生しています:
TypeError: 未定義のプロパティ 'name' を設定できません
node.js - MongoDB mongojs ノード
ノード、mongodb、mongojs について学習しようとしていますが、初心者向けの質問があります。
私のルートはこんな感じです...
私のJSONは次のようになります...
私がやりたいことは、SQLでは簡単です-select * from msgs where author = 'George'
mongo/mongojs を使用してこれを行うにはどうすればよいですか?
私はこのようなことを試みましたが、成功しませんでした...
コールバックコードは
ここにいくつかの宣言があります
そしてsetup.jsは
そして最後に config.json
コードが機能しないというのは、Postman Rest Client Chrome プラグインを使用してテストすると、次の結果が得られることを意味します。
でGETしようとすると
msgs.findOne を使用して同様のコールバックを使用すると、期待どおりに動作します
私がやろうとしていることを説明するには、それで十分なコードだと思います
任意のガイダンスをいただければ幸いです。
javascript - Express を使用して MongoDB クエリの結果を JSON として送信する
Express、Node.js、および MongoDB (mongojs を使用) を使用するアプリケーションを作成しています。モジュールdb.js
と がありserver.js
、以下のスニペットがあります。
db.js
サーバー.js
callback.json(data)
ご覧のとおり、 を使用する必要があるときに を(おそらく間違って) 使用しているため、機能していますcallback(data)
。db.js
モジュールは応答を送信する責任を負うべきではなく、コールバックとして関数に渡す必要があると思いres.json
ます。
問題は、私が正しいと思う方法で物事を行うと、次のエラーに直面することです:
応答オブジェクトを DB モジュールに送信せずに JSON 応答を適切に送信するにはどうすればよいですか?
PSの 36 行目の内容はdb.js
、変更を加えると ですcallback(data);
。
javascript - mongojsを使用して、他のクエリに依存する追加のフィールドをmongodbのクエリ結果に追加します
MongoDB クエリを作成し、結果のそれぞれに追加のフィールドを追加する必要があります。フィールド値は、別のクエリの結果に依存します。
コードでネストされたクエリを呼び出そうとしていserver.js
ます。res.json(data)
データ要素が変更される前に呼び出されるため、機能していません。forEach
コードでネストされたクエリを使用する (またはorのようなものを使用するaggregate
)ことを行う方法があると思いますdb.js
が、JavaScript/Mongo の経験が不足しているため、適切な解決策を見つけることができませんでした。
どんな助けでも大歓迎です。
サーバー.js
db.js
編集:
内部コールバック内にチェックを追加することで、問題を解決できました。