21

これは、MongoDB を使用する最初の試みです。私はMongoを実行しています:

ps -ef | grep [m]ongo
mongodb  11023  1  0 Jun24 ? 00:00:03 /usr/lib/mongodb/mongod --config /etc/mongodb.conf

そして、エラーは実行の結果として発生します

Datastore.save( stuff );  // (pseudo code)

エラー:

Jun 27, 2011 3:20:29 PM com.mongodb.DBTCPConnector fetchMaxBsonObjectSize
WARNING: Exception determining maxBSON size using0
java.io.IOException: couldn't connect to [russ-elite-book/127.0.1.1:27017] bc:java.net.ConnectException: Connection refused
    at com.mongodb.DBPort._open(DBPort.java:206)
    at com.mongodb.DBPort.go(DBPort.java:94)
    at com.mongodb.DBPort.go(DBPort.java:75)
    at com.mongodb.DBPort.findOne(DBPort.java:129)
    at com.mongodb.DBPort.runCommand(DBPort.java:138)
    ...

接続に127.0.0.1:27017を使用していることに注意してください。これは Mongo シェルで機能します。また、を使用してブラウザで管理ページを取得しますhttp://localhost:28017

ありとあらゆるアイデアに感謝します!

4

9 に答える 9

13

brewを使用してmongoをアップグレードしたため、同じ問題が発生しました。この問題を修正するには。confファイルを探します(mongodbを開始するbinディレクトリにない可能性があります)

/usr/local/Cellar/mongodb-2.2.whatever/mongod.confを選択し、「bind_ip」プロパティをコメントアウトします。

于 2012-10-16T16:47:01.790 に答える
10

(自分の質問に答えるのは少し悪い形だと思いますが、実際には、答えは提案されたものではないことが判明しました。それでも、すべての人に感謝します。質問に答えるとき、人は仮定できる必要があります正しくインストールされて動作するソフトウェアに基づいています.私はそれを持っていませんでした.)

Ubuntu Software Center を使用して MongoDB をインストールしました。この質問の他の場所で説明されているように、シェルとブラウザーから機能しました。ただし、Java (または Django) からは機能しませんでした。

Java スタック トレースに記載されている内容にもかかわらず、問題は単純に「接続が拒否された」ことでした。

解決策は、適切な Mongo ソースからインストールし、Ubuntu リポジトリを信頼しないことです。

(はい、これは Eclipse など、そこから取得する他の製品でも頻繁に発生しますが、信頼したいほど素晴らしいサービスであることはわかっています。)

私がどのようにインストールしたかを知りたい場合は、http://www.javahotchocolate.com/tutorials/mongodb.htmlをチェックしてください。

于 2011-06-28T19:16:22.263 に答える
7

私は同じ問題を抱えていましたが、私の解決策は異なっていました。ホスト名として「localhost」を使用していましたが、「127.0.0.1」に変更すると修正されました。

于 2012-04-04T14:24:13.550 に答える
7

ほとんどの場合、Java ドライバーは指定されたアドレスに接続できません。127.0.1.1:27017シェルを使用してそのアドレスに接続できることを確認し、 " db.isMaster()" を実行してください。多分それは127.0.1.1vsの問題です127.0.0.1

于 2011-06-28T04:45:00.100 に答える
4

Java MongDB ドライバーの問題であることが判明しました。

次の 2 つの解決策があります。

  1. バージョン 2.8以降の Java ドライバーを使用する。
  2. 構成ファイルを編集し、行bind_ip = 127.0.0.1またはが含まれている場合bind_ip = localhostはコメントアウトします。

ハンブルパイを食べて…

Russ Bateman's own answerへのコメントで示したように、最初は Ubuntu パッケージの問題のように思えました。本当の理由は、付属の構成ファイルが値を定義しているためbind_ipです...

于 2012-07-03T21:18:55.383 に答える
2

これはセキュリティ上の問題または無効な URL であると思われます。デフォルトの構成を使用した場合、 http://yourmachine:28017にアクセスできるはずです。この URL から管理ページに移動できるかどうかを確認してください。管理 URL に移動できる場合は、アプリでポート番号を 27017 に置き換えてください。それはうまくいくはずです。

于 2011-06-27T21:47:04.700 に答える
2

.conf ファイルの内容を見ずに言うのは難しいです。私がお勧めすることの 1 つは、mongo シェルを実行して、そこから接続、クエリ、および書き込みができるかどうかを確認することです。これは、サーバーと Java クライアントの問題を分離するのに役立ちます。さらに、ヒントとなる別の形式のエラーが表示される場合があります。

.conf ファイルで --port を設定していますか?

于 2011-06-28T04:33:31.313 に答える