suz*_*zan 2 mongodb node.js mean-stack
我正在尝试在我的 nodeJS 项目中连接到 mongodb 服务器。我有一个 db 配置文件作为 DB.js
module.exports = {
DB: 'mongodb+srv://user%40gmail.com:%24ugar@cluster-jfgsm.mongodb.net/test?retryWrites=true'
};
Run Code Online (Sandbox Code Playgroud)
用户名包含 @ (%40) 标记,因为它是电子邮件 ID,密码包含 $(%24) 个字符。
我已经在我的 server.js 文件中将它连接为
mongoose = require('mongoose'),
config = require('./config/DB');
const app = express();
mongoose.Promise = global.Promise;
mongoose.connect(config.DB, { useNewUrlParser: true } ).then(
() => {console.log('Database is connected') },
err => { console.log('Can not connect to the database'+ err)}
);
Run Code Online (Sandbox Code Playgroud)
我serve在 package.json 文件中添加了自定义选项来运行 nodemon。
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"serve": "nodemon server.js"
},
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用命令运行项目时npm run serve,我在控制台中收到一条错误消息
无法连接到数据库MongoParseError: Unescaped at-sign in authority 部分
我也在堆栈溢出中搜索了许多问题,但没有任何对我有用。
任何帮助表示赞赏。谢谢你
小智 12
可以像这样对密码进行编码:
const DB_USER = 'user';
const PASSWORD = encodeURIComponent('hello@123');
const DB_URL = `mongodb://${DB_USER}:${PASSWORD}@ds331735.mlab.com:31772/any_db`;
Run Code Online (Sandbox Code Playgroud)
如果@您的密码中有 ,则应将其更改为%40。
| 归档时间: |
|
| 查看次数: |
14815 次 |
| 最近记录: |