【问题标题】:How to connect to MongoDB in local network with express and mongoose如何使用 express 和 mongoose 连接到本地网络中的 MongoDB
【发布时间】:2019-07-01 13:58:23
【问题描述】:

我正在使用 express 和 mongoose 设置服务器,我希望它可以在我本地网络中的其他机器上使用。 bind_ip 变量已经在 Mongodb 配置文件中设置为 0.0.0.0。

const connection = mongoose
    .connect(
        "mongodb://192.168.254.104/db",
        {
            useNewUrlParser: true
        }
    )
    .then(() => console.log("Connected to MongoDB"))
    .catch(error => console.log(error));

我尝试在我的手机上连接,但服务器响应说它没有找到数据库。

【问题讨论】:

  • 您缺少端口号,我认为在大多数情况下最好使用 localhost
  • 你想把mongodb服务器暴露给你的局域网吗?因为您显示的代码是服务器端代码。这是否意味着您要运行多个 express 服务器?
  • 我只希望他们使用相同的快递服务器和数据库。
  • 对,在这种情况下,不需要将 mongodb 服务器暴露给你的局域网。您的 Express 服务器已经可以从您 LAN 中的所有机器访问,并且只有 express 服务器需要访问 mongodb 服务器。由于两者在同一台机器上,根本不需要任何特殊的配置。
  • 您好,如果您的问题得到解决,您应该接受答案并帮助社区。​​span>

标签: javascript node.js mongodb express mongoose


【解决方案1】:

首先,您应该在本地运行 MongoDB 服务器。

默认运行端口为:27017

mongoose.connect('mongodb://localhost:27017/', {
    dbName: 'event_db',
    useNewUrlParser: true,
    useUnifiedTopology: true 
}, err => err ? console.log(err) : console.log('Connected to database'));

或者你可以这样做

mongoose.connect('mongodb://localhost:27017/event_db');

【讨论】:

    【解决方案2】:

    这是mongodb连接字符串的格式:

    mongodb://[username:password@]host1[:port1][,...hostN[:portN]]][/[database][?options]]
    

    如果你想连接到本地数据库,那么字符串应该是这样的:

    "mongodb://localhost:27017/mydb"
    

    其中“mydb”是本地计算机上的数据库名称。

    【讨论】:

    • 你在这个例子中提供的连接URL在这种情况下是错误的,因为他正在尝试连接到本地网络,192.168.X.X.
    【解决方案3】:

    试试这个方法:

    mongoose.Promise = Promise;
    mongoose.set('useCreateIndex', true);
    var mongooseOptions = {  useNewUrlParser: true }
    
    mongoose.connect('mongodb://localhost:27017/MyDatabase', mongooseOptions, function(err) {
        if (err) {
            console.error('System could not connect to mongo server.')
            console.log(err)     
        } else {
            console.log('System connected to mongo server.')
        }
    });
    

    【讨论】:

    • 你在这个例子中提供的连接URL在这种情况下是错误的,因为他试图连接到本地网络,192.168.X.X.
    猜你喜欢
    • 2022-01-06
    • 2019-12-30
    • 2021-12-27
    • 1970-01-01
    • 2017-09-09
    • 2012-11-07
    • 2022-09-23
    • 2021-03-17
    • 2021-06-19
    相关资源
    最近更新 更多