我在https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose学习ExpressJs教程
现在我已经为mongodb数据库创建了模块,然后在根目录中创建了一个文件populatedb.js。现在我正在尝试使用命令连接到数据库(如上面链接中最后所述)
node populatedb mongodb://dbuser:dbpassword@ds133814.mlab.com:33814/local_library_tutorial
但终端没有响应,数据库中没有发生
8条答案
按热度按时间67up9zun1#
我哥哥。
我遇到了同样的问题,当我的搜索引导我到你的问题时,我更伤心,当我没有看到答案时,然而,在搜索之后,我找到了答案!
1.确保在你的mongo url上用实际数据替换“dbuser:dbpassword”占位符,例如“Elias:js 44889”。
1.另外,请确保它与app.js中的相同。
我想一切都应该很好,因为它是为我。
twh00eeo2#
你必须在populatedb.js中包含脚本才能完成工作。
populatedb.js脚本链接:https://raw.githubusercontent.com/hamishwillee/express-locallibrary-tutorial/master/populatedb.js
从上面的链接将脚本插入populatedb.js文件后,然后运行以下命令在mongoDB中填充数据。
npm install async
(如果未安装异步模块)node populatedb <your mongodb url>
cngwdvgl3#
我有这个问题了几天的错误
首先,我仔细检查了我是否遵循了教程中的测试-创建一些项目中的说明。然后我在终端中更改了我原来的mongodb URL,删除了结尾。
我原来的mongoURL =
我的新MongoURL =
我在express-locallibrary tutorial文件夹中运行了这个脚本。
我不确定这是否意味着我也需要更改app.js中的链接。
希望这能为某人节省一些时间!
brjng4g34#
有时你可能会得到一个错误,如果你在所有的模型中使用相同的集合名称,这发生在我身上,直到我意识到我所做的是错误的。
比如不要这样做
如果不及时执行,则会抛出此错误
OverwriteModelError: Cannot overwrite author model once compiled.
而是在命令行中为“windows用户”写入
在你的模型中确保集合是不一样的
ua4mk5z45#
我也遇到了同样的问题,因为我在做同样的教程。我所做的解决这个问题的方法是去他们在“测试-创建一些项目”的第一步中提供的populatedb.js链接,或者你可以下载它。一旦我点击链接,他们提供的测试数据,你可以粘贴到你在项目根目录中创建的populatedb.js文件中,然后:
npm install async --save
node populatedb <your mongodb url>
1.脚本应该运行,并且您应该看到它创建的结果或项目。
qv7cva1a6#
遵循MDN教程,这里是我修复:
用户名:Jeff ;密码:12345
app.js,更改为:
命令行提示,更改为:
4szc88ey7#
张贴在这里,因为这个答案是我发现谷歌搜索问题的结果。
有同样的问题,错误最终是密码,我已经设置的管理员对数据库-特殊字符编码(有一个警告显示,我显然忽略了),这导致我无法连接。
gpnt7bae8#
我刚刚试过了,你需要在你的连接uri周围加上单引号: