你知道为什么我会得到这个错误吗?这是连接线
mongoose.connect("mongodb+srv://danielkmx:"+process.env.MONGO_ATLAS_PW+"@node-rest-shop-5xfup.mongodb.net/test", { useMongoClient:true });
svujldwt1#
我遇到了同样的错误,当我将mongoose包更新到最新版本时,它得到了解决。
p8ekf7hl2#
我想现在你已找到这个问题的答案,但我会解释,如果其他人也有同样的问题因此,通常我们现在有2个协议(1- mongodb+srv://和2- mongodb://)来连接到mongodb数据库。这两个版本之间的主要区别是mongodb和它的核心版本,你可以在package-lock.json文件中找到,类似于下面的代码:
"mongodb": { "version": "3.0.0", //Your MongoDB version "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.0.0.tgz", "integrity": "", "requires": { "mongodb-core": "3.0.0" } }, "mongodb-core": { "version": "3.0.0", //Your MongoDB version "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.0.tgz", "integrity": "", "requires": { "bson": "1.0.9", "require_optional": "1.0.1" } },
如果你想使用mongodb+srv://版本,那么你需要一个3.0.0或更高版本的驱动程序,你可以简单地通过:
npm install mongodb@3.0.0
**或以上
我希望您觉得这对您有帮助,如果此解决方案对您有效,请确认其他用户不会再次遇到我们的问题
4ioopgfo3#
我同意这个解决方案,并在这里投票赞成这个问题和非常正确的答案。如果有人想更新最新的软件包,我建议使用npm-check-updates(https://www.npmjs.com/package/npm-check-updates)来进行平滑更新。安装npm-check-updates:
$ sudo npm install -g npm-check-updates
检查所用软件包的最新更新:
$ ncu
更新包:
$ ncu -u
然后,安装更新的程序包:
$ npm install
qnzebej04#
使用以下版本的mongoose帮助我解决了这个问题
npm i mongoose@5.7.0
q5lcpyga5#
我遇到了同样的问题,但使用的是mongorestore命令。我执行了brew update mongodb,导致了以下错误。unknown or unsupported macOS version: :mountain_lion然后,我卸载了mongodb,并通过运行brew install mongodb/brew/mongodb-database-tools安装了数据库工具,这为我解决了问题,我能够使用以下命令恢复数据库:mongorestore --uri=mongodb+srv://<user>:<password>@cluster0.wtdv4.mongodb.net/<db-name> --db <db-name> <input-dir>
mongorestore
brew update mongodb
unknown or unsupported macOS version: :mountain_lion
brew install mongodb/brew/mongodb-database-tools
mongorestore --uri=mongodb+srv://<user>:<password>@cluster0.wtdv4.mongodb.net/<db-name> --db <db-name> <input-dir>
eni9jsuy6#
虽然我需要MongoDB和mongoose的版本,因为我正在为应用程序制作套接字包,我的套接字包不是最新的,由于它没有工作,所以关键是要确保包更新,以适应新的变化。
6条答案
按热度按时间svujldwt1#
我遇到了同样的错误,当我将mongoose包更新到最新版本时,它得到了解决。
p8ekf7hl2#
我想现在你已找到这个问题的答案,但我会解释,如果其他人也有同样的问题
因此,通常我们现在有2个协议(1- mongodb+srv://和2- mongodb://)来连接到mongodb数据库。
这两个版本之间的主要区别是mongodb和它的核心版本,你可以在package-lock.json文件中找到,类似于下面的代码:
如果你想使用mongodb+srv://版本,那么你需要一个3.0.0或更高版本的驱动程序,你可以简单地通过:
**或以上
我希望您觉得这对您有帮助,如果此解决方案对您有效,请确认其他用户不会再次遇到我们的问题
4ioopgfo3#
我同意这个解决方案,并在这里投票赞成这个问题和非常正确的答案。
如果有人想更新最新的软件包,我建议使用npm-check-updates(https://www.npmjs.com/package/npm-check-updates)来进行平滑更新。
安装npm-check-updates:
检查所用软件包的最新更新:
更新包:
然后,安装更新的程序包:
qnzebej04#
使用以下版本的mongoose帮助我解决了这个问题
q5lcpyga5#
我遇到了同样的问题,但使用的是
mongorestore
命令。我执行了brew update mongodb
,导致了以下错误。unknown or unsupported macOS version: :mountain_lion
然后,我卸载了mongodb,并通过运行
brew install mongodb/brew/mongodb-database-tools
安装了数据库工具,这为我解决了问题,我能够使用以下命令恢复数据库:mongorestore --uri=mongodb+srv://<user>:<password>@cluster0.wtdv4.mongodb.net/<db-name> --db <db-name> <input-dir>
eni9jsuy6#
虽然我需要MongoDB和mongoose的版本,因为我正在为应用程序制作套接字包,我的套接字包不是最新的,由于它没有工作,所以关键是要确保包更新,以适应新的变化。