問題タブ [node-mongodb-native]
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.
javascript - node-mongodb-native、コールバック、スコープ、および TypeError
ここにちょっとした話があります。
昔々 、小さなプロジェクトでnode-mongodb-nativeを使用したいと考えていました。しかし、とても恥ずかしがり屋で、ラッパー オブジェクトを使用して自分の背後に隠れたいと考えていました。
このsetup
方法は、小さなプロジェクトを開始するための方法でした。アプリケーションの実行中に呼び出されていました。
少し試してみるために、この小さなプロジェクトは のcollection
メソッドのラッパー メソッドを追加しましたnode-mongodb-native
。
しかし、この小さなプロジェクトは、この方法がうまくいかないことに気付きました。理由がわかりませんでした!
小さなプロジェクトはそれが関連しているとは思わないにもかかわらず、エラーは次のとおりでした。彼の親友である Google は、有用な結果を何も得られませんでしたが、古い修正済みのバグでした。
PS: 失敗したファイルが必要な場合は、ここに要点があります。
node.js - node-mongodb-nativeでプロファイリングを有効にするにはどうすればよいですか?
node-mongodb-nativeドライバーを介して、MongoDBデータベースの1つでプロファイリングを有効にしたい。
Db.setProfilingLevel()
ただし、(管理DBを除いて)メソッドがないようです。
使ってみましdb.command({setProfilingLevel: 2})
たが、取得しno such cmd: setProfilingLevel
ます。
モンゴシェルを介して正常に動作しますdb.setProfilingLevel(2)
mongodb - MongoDB とは異なり、すべてのフィールドを返す
MongoDB と node-mongodb-native ドライバーを使用しています。
個別の属性を持つすべてのレコードを返そうとしています。
これは機能しているようですが、各ドキュメントのすべての値ではなく、明確であることをチェックしている値のみを返します。
これは、名前フィールドだけを返そうとしたものです。それなしで試してみましたが、常に配列内のitem_idのみを返します。
各ドキュメントからすべてのデータを取得する方法について何か提案はありますか?
ありがとうございました!
編集:Map Reduceの使用
そのため、node-mongodb-native を使用して、map reduce の開始をセットアップしました。
ロジックが個別に存在しないことはわかっていますが、結果は db オブジェクトであり、「toArray」を使用できません。なぜこれが考えられるのでしょうか?
javascript - mongodb-native ドライバーに個別の mongo.Server と mongo.Db があるのはなぜですか?
nodejsのmongodbネイティブドライバーを学んでいます。
このように接続します。
そして、それは機能します。しかし、同じサーバーを使用して新しいデータベース接続を作成しようとすると、エラーが発生します。
「エラー: サーバーまたは ReplSet インスタンスは、複数の Db インスタンス間で共有できません」
ただし、最初に新しいサーバー接続を作成すると機能します。
私の質問は、サーバー用と Db 用の 2 つの接続関数があるのはなぜですか?
どうしてこう進まないのだろう。
これを行う独自の関数を作成したいのですが、別の理由があるのだろうか。
ありがとう。
javascript - ネストされたオブジェクト値によるMongoDBの並べ替え
ネストされたオブジェクトの値に基づいて結果を並べ替えようとしています。を使用してnode-mongodb-native
、私はこれを行っています:
の予期しないトークンエラーが発生しitems.date
ます。
items
オブジェクトの配列です。空の配列であるドキュメントもあれば、フィールドを含むデータを含むドキュメントもありdate
ます。
ありがとうございました!
node.js - MongoDB 接続が増加し続ける
接続制限に達し続けていますが、http トラフィックは一定のままです。MMS を使用して mongod プロセスのプロファイリングを行ったところ、接続数が増加し続けていることがわかりました。
Node.js (Express) の mongoskin ラッパーを使用しています。他のルートを実行する前にmongo dbに接続するカスタムルートミドルウェアがあります:
私は何か間違ったことをしていますか?接続を開いたり閉じたりするにはどうすればよいですか?
node.js - node-mongodb.nativeでMongosを使用したReadPreferenceのエラー
node-mongodb-nativeにMongoSを使用しているときに、GridFSで問題が発生します。githubで問題を開きましたが、これは実際には問題の症状にすぎません。キャッチされないエラーは、ReadPreferenceが設定されていないことを訴えます。GridFSでReadPreferenceを設定する良い例が見つかりません。シャード設定でmongoドライバーを使用した人はいますか?
javascript - node-mongodb-native-カーソルは各呼び出し中に最後の値としてnullを返します
それで。私は非常に基本的なスクリプトを持っています。これはデータベースに接続しfind
、多くのドキュメントを含むコレクションに対して実行し、3つのアイテムに制限します。null
結果の最後に、成功した後に接続を静かに閉じる代わりに、スクリプトが終了しないことを除いて、すべてがスムーズに実行されます。
ここで、パラメータを宣言し、データベースオブジェクトを作成します。
そして、ここでデータベースに接続し、find
カーソルとeach
関数を使用してデータベースのクエリを実行します。
結果は素晴らしいです:
まで
が表示されます。
上で正確に述べたように、スクリプトは終了しないように進みます。
理由がわからないので、うまく終了させる方法についてのポインタをいただければ幸いです。
javascript - ノード+エクスプレスでリクエストハンドラーを再実行するには?
node + express + mongojs を実行しています。サンプルコードは次のとおりです。
mongod の実行を忘れて、データベースと通信しようとすると「... に接続できませんでした」というエラーで失敗することがあります。問題は、mongod を開始するだけでは十分ではないことです。既存のdb
オブジェクトは、接続を確立できなかったことを記憶しているように見えるため、mongod が既に実行されていても、サーバーは失敗し続けます。
そこで、次の解決策を思いつきました。
基本的にdb
、リクエストが「接続に失敗しました」エラーで失敗した場合、オブジェクトを再作成し、リクエストを再実行します。これは、最初の失敗に対してのみ行われます。その後の失敗では、エラーが返されます。
私は自分の解決策がまったく好きではありません。もっと良い方法があるはずです。助言がありますか?
ありがとう。
node.js - [Node.js] ネイティブ ドライバーを介して mongodb に 1000000 個のドキュメントをループ挿入すると、ノードが多くのメモリを消費するのはなぜですか?
次のコードを使用して、1000000 個のドキュメントを mongodb にループ挿入しますが、ノード プロセスが多くのメモリを消費することがわかりました。クライアントが停止しています。