gpt4 book ai didi

javascript - 有没有一种方法可以用 Mongoose 创建一个具有用户名和密码的数据库?

转载 作者:行者123 更新时间:2023-12-03 12:43:18 24 4
gpt4 key购买 nike

我目前正在开发一个应用程序( Electron 开发)。我正在使用mongoDB和mongoose来存储持久性,但是我找不到一种看起来很基本的方法:创建数据库时,我想向该数据库添加用户和密码(我确实在搜索它,但找不到任何可用的方法)。

我有这个需求,因为它将成为一个多用户应用程序,而且我绝对不希望用户知道另一个用户帐户的内容。

这个想法是,一旦您创建了一个帐户,该应用程序就会创建一个数据库,该数据库具有与该帐户相同的用户名和密码。对于登录,该应用程序尝试使用您的帐户和密码将您连接到数据库。

我正在与:

  • Electron
  • HTML/CSS/javascript
  • mongoDB
  • Mongoose

  • 这是我测试过的代码:
    var mongoose = require('mongoose');
    var connStr = "mongodb://localhost:27017/test";
    mongoose.connect(connStr, {user: 'newUser', password: 'pwd', useNewUrlParser: true }, function(err) {
    if (err) {throw err};
    console.log("Successfully connected to MongoDB");
    });

    我得到了错误
    Uncaught (in promise) MongoNetworkError: failed to connect to server [localhost:27017] on first connect [MongoError: password must be a string]

    但是,有了这些,就可以正确创建数据库(但是任何人都可以访问它):
    user: '', password: ''

    我期望的是创建一个新数据库,其用户名设置为“newUser”,密码设置为“pwd”,这样,只有使用正确的ID和密码才能连接到该数据库。

    谢谢你的帮助 !

    最佳答案

    我不知道这是否行得通,但是我使用docker运行了mongo服务,然后使用以下代码将mongoose连接到了它

    mongoose.connect('mongodb://user:pass@localhost:port/MyDB?authSource=admin', {
    useNewUrlParser: true
    })
    .then(() => console.log('MongoDB connection successful'))
    .catch(err => console.error('Could not connect to MongoDB:‌', err));

    这相当于

    mongo --username用户--password pass --authentication数据库管理员--port 27017

    关于javascript - 有没有一种方法可以用 Mongoose 创建一个具有用户名和密码的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57312577/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com