我试图设置我的node js应用程序以连接到MongoDB Atlas数据库,我正在使用他们提供给我的完整驱动程序代码。但是当我启动应用程序时,出现以下错误:
(节点:4195)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):TypeError:参数“ url”必须是字符串,而不是函数
这是我的app.js的代码:
var express = require("express"),
app = express(),
bodyParser = require("body-parser"),
mongoose = require("mongoose"),
method_override = require("method-override");
// mongoose.connect("mongodb://localhost/art_eng");
app.use(bodyParser.urlencoded({extended: true}));
app.set("view engine", "ejs");
app.use(express.static(__dirname + "/public"));
app.use(method_override("_method"));
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://boris:<passwordWasHere>@arteng-jvhbz.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
client.close();
});
连接到数据库的我的投资组合页面无法加载并超时。我该如何解决?
答案 0 :(得分:0)
我也面临着同样的问题,但已解决。
您的密码不得包含解析时出现问题的任何字符。
就我而言,它只是通过删除%
字符来解决的。