問題タブ [mongodb-shell]

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 投票する
3 に答える
974 参照

mongodb - mongo シェルでの配列出力形式

Mongo シェルに配列の内容をページ全体に順次出力させる方法はありますか?

具体的には: 与えられた配列 [8888, 8888, 8888, 8888]

8888, 8888, 8888, 8888asではなくとしてレンダリングしたい

それは私が得続けているものです。(実際の配列には 8888 の 84 要素があります。この例が正しく出力されることはわかっています)

さらに具体的には、John Page によって公開されているマンデルブロ フラクタルの集計コードを機能させようとしています。秘訣は、フォントサイズを非常に小さく保つことです。それでも、フォント サイズを 2 に設定し、ターミナル ウィンドウを 1000 列に設定しても、配列は縦方向に出力され続けます。

私はいくつかの実験を行いましたが、各配列要素のサイズ、文字間隔、およびフォントサイズに応じて、大まかなガイドは、角括弧 [ ] > 50 間の文字の総数または要素数の任意の配列です。 > 20 の場合、配列は垂直に印刷されます。

node.js を使用してターミナル bash シェルで同じ実験を試みましたが、これは起こりません。したがって、Mongo シェルのフォーマットの問題のようです。

Mongoシェルできれいな印刷を行うために、この回答DBQuery.prototype._prettyShell = falseの反対として使用しようとしましたが、運がありませんでした。

Page 氏は親切にもコードを自分で再度テストし、期待どおりに動作することを保証してくれました。

完全を期すために、Mac OS X 10.7.5 で MongoDB シェル バージョン 2.4.9 ターミナル バージョン 2.2.3 (303.2) を実行しています。

どうもありがとう

(注: 公開されている元のコードでは、最初のループに開き中括弧が 2 つforありませんでした。コードでこれを修正しましたが、これは問題の原因ではありません。集約の結果として生成される最終的な配列正しくレンダリングされないだけです)

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

mongodb - Mongo DB 認証を有効にしようとすると TypeError が発生する

Mongo DB 認証を有効にしようとするステップ 3 にいます指示どおりに Mongo シェルを使用してユーザーを作成しようとすると、シェルから次のように報告されます。

TypeError: オブジェクト admin のプロパティ 'createUser' は関数ではありません

--auth オプションを指定して mongod を起動し、admin データベースに切り替えました。いつものように、助けていただければ幸いです。

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

mongodb - デフォルトですべての数値を整数として保存するように Mongo シェルを構成する

デフォルトでは、MongoDB シェルはすべての数値を float として解釈します。これは、既存の JSON 形式のデータ (Mongo に文字列として格納されている) を実際の Mongo BSON オブジェクトに変換しようとすると問題になります。また、整数はデータのどこにでも出現する可能性があるため、データ内の整数値をNumberInt(...)/で明示的かつ手動でラップするのは面倒です。NumberLong(...)

1 つの MongoDB シェル セッションを使用するようにNumberInt、またはNumberLong既定で構成する方法はありますか?

または、JSON の文字列を MongoDB シェルのオブジェクトに解析して、小数点のないすべての数値が既にNumberInt/でラップされるようにする方法はありNumberLongますか?

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

mongodb - MongoDB シェルから現在のスクリプト パスを取得する

クライアントでMongoDBシェルのJavaScriptコードを書いています。実行中のスクリプトファイルのパスを取得するにはどうすればよいですか? の値ではないことに注意してくださいpwd()。たとえば、私は/my_scripts/utils.jsから実行してい/my_pathます:

so をpwd()返しますが、現在実行中のファイル/my_pathのフル パス (または の値への相対パス) を取得するにはどうすればよいですか?pwd()/my_scripts/utils.js

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

mongodb - コレクション B の情報を使用してコレクション A のドキュメントをフィルター処理する - どのように?

次の構造のドキュメントを含むコレクション A を想定します。

{_id: N}N は正の整数です。

そして、次の種類のドキュメントを含む 2 番目のコレクション B:

{_id: M, ids: [n1,n2,...]}n1、n2、... は正の整数です。

B のドキュメントは、コレクション A の一連のドキュメントを効果的に定義しています。

つまり、コレクション A には 2 種類のドキュメントがあります。

  • コレクション B のドキュメントの少なくとも 1 つの ids-array に _id 値が含まれているドキュメント
  • コレクション B のドキュメントのどの ids-array にも _id が含まれていないもの

MongoDB シェル式を使用して次のタスクを実行する方法がわかりません。

コレクション B のドキュメントの ids-array に含まれていないすべてのドキュメントをコレクション A から削除したいと思います。


私の直感的なアプローチは、すべての ids-arrays を集計付きのセットに変換し、この新しい配列を使用して remove-method 内でクエリを作成することですが、これはうまくいかないようです。


私は複数のことを試しました-これが1つです:

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

javascript - mongodb デバッグ - ReferenceError: コンソールが定義されていません

デバッグ用の式を取得した場所でjs実行するファイルを取得しました。mongodbconsole.log

実行すると...

...出力にエラーが発生しました:

デバッグ目的で中間結果をログに記録する方法はありますか?

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

javascript - MongoDB: "version" という名前のコレクションをクエリする方法

「バージョン」という名前のコレクションを含む mongo データベースを使用しています。現在、「db.version()」自体が予約済みの関数であり、コレクション名が隠されているようです。

Mongo Java Driver を使用すると、コレクションからデータを取得できます。CLI を使用してそれを行うにはどうすればよいですか?