node.js 未処理の拒否MongoError:ポートを指定する必要があります



mongoose インストール (2)

ここでMongooseのメンテナー、問題を申し訳ありません。 この問題は今後数日以内に修正させいただきます。 それまでは、あなたのURIにポートを指定してください: mongoose.connect('mongodb://localhost:27017/myapp'); 。 また、 関連するドキュメントを必ず更新しています

Mongooseドキュメントによれば、MongoDBにはデフォルトポート27017で接続できます。

私のmongod出力は次のように終わります。

 I NETWORK  [initandlisten] waiting for connections on port 27017

しかし、私がこのように自分のデータベースに接続しようとすると、

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/myapp');

私は得る

Unhandled rejection MongoError: port must be specified

ここで何が起きてるの?

私はMongoose v5.2.0、ノードv9.10.0、MongoDBシェルバージョンv4.0.0を持っています。

mongodb://localhost:27017/myappポートを含むように接続文字列を変更すると、接続できます。 しかし、なぜ私はこれが必要なのか分かりません。


Answer #1

ポートはmongoose(5.2.0)の最新バージョンのmongoose.connect()で指定する必要があります:

mongoose.connect("mongodb://localhost:27017/cat_app");

27017は、mongodが実行されているMongoDBのデフォルトポートです。

別の解決方法は、この問題を引き起こさないmongoose 5.1.7に戻すことです。

npm install [email protected] --save

それが修正されるかどうか私に教えてください。