【发布时间】:2018-04-18 07:39:36
【问题描述】:
我在学习 Angular 2 时从 API 获取数据时遇到问题。这是我遇到的错误
url.js:106 抛出新错误。TypeError('ERR_INVALID_ARG_TYPE', 'url', 'string', url); TypeError [ERR_INVALID_ARG_TYPE]:“url”参数必须是字符串类型。在 Url.parse (url.js:106:11) 收到未定义的类型
这是我正在使用的代码
index.js
const express = require('express');
const app = express();
const MongoClient = require('mongodb').MongoClient;
require('dotenv').config();
let database;
MongoClient.connect(process.env.DB_CONN, (err, db) => {
console.log('connected to mongodb...');
app.listen(3000, () => {
database = db;
console.log('listening on port 3000...')
});
});
app.get('/contacts', (req, res) => {
const contactsCollection = database.collection('contacts');
contactsCollection.find({}).toArray((err, docs) => {
if(err) {
console.log(err);
}
return res.json(docs);
});
});
.env
DB_CONN=mongodb://admin:password@ds117931.mlab.com:17931/dem-contact
我不明白这个错误,我唯一的 url 在我的 env 文件中,因为我使用的是 mlab mongodb。我的代码有什么问题?
【问题讨论】:
-
能否提供您的
.env文件样本? -
@JosephReeve 在我的编辑中添加了 .env 文件的内容
-
我了解到您的环境变量 process.env.DB_CONN 没有被正确处理,它被作为 undefined 传递。你是如何启动应用程序的?
-
您的应用程序运行情况如何?通过一些 IDE 的控制台?
-
只是想补充一下,也有可能是你写错了变量名造成的。
标签: javascript angular mongodb