node.js - Mongoose 错误:openuri() 的 uri 参数必须是字符串,得到“对象”。确保 mongoose.connect() 的第一个参数是一个字符串
问题描述
如果我以前以这种方式连接到数据库,为什么会出现此错误?
这是我的代码:
const express = require('express');
const router = express.Router();
const mongoose = require('mongoose');
const Player = require('../models/player'); //import player database
const db = mongoose.connect('mongodb://user:pass@ds263493.mlab.com:63493/user', { useNewUrlParser: true });
mongoose.Promise = global.Promise; //Promise type avoids warnings mongoose throws
mongoose.connect(db, function(err)
{
if(err){
console.error("Error! "+ err);
}
});
router.get('/players', function(req, res) //make req to players
{
console.log('Get request for all players');
Player.find({}) //connected to players collection in database
.exec(function(err, players) //once players are found, send as response to browser
{
if(err)
{
console.log("Error retrieving players");
}
else
{
res.json(players);
}
})
});
module.exports = router;
我将数据库的用户名和密码更改为默认值,只是为了这个问题,这不是问题。
不知何故,mongoose.connect("") 的参数不是字符串,我什至尝试过 useNewUrlParser:true,但它仍然给我同样的错误。
解决方案
推荐阅读
- gridjs - gridjs 宽度拥有 Table 和 Jquery
- apple-push-notifications - ALPN 回调被丢弃:HTTP/2 被禁用。IBM Webshere 9 JAVA 8 上的 alpn-boot 在引导类路径上吗?
- flutter - 加载列表时如何处理巨大的数组?
- mongodb - Flapdoodle 因 Spring Boot v2.3.3 的“授权失败”错误而失败
- odoo - 如何在odoo 13中创建一个新标签?
- php - 在 ModelBehavior 中未检测到 Controller 的更改
- confluent-platform - 汇合云 | Java Avro 序列化 | 值中的垃圾字符
- pagination - 是否有关于使用 GraphQL 实现偏移分页的任何标准或约定?
- reactjs - React Native 选项卡导航器重新渲染屏幕组件
- google-sheets - 使用 =importXM 从表中提取 URL