Nodejs + mongodb托管在哪好 求推荐

Nodejs + mongodb托管在哪好 求推荐

nodejs + mongodb托管在哪好!求推荐

10 回复

当然可以。对于 Node.js 和 MongoDB 的组合,有许多优秀的云服务提供商可以满足您的需求。其中,Heroku、AWS(Amazon Web Services)和 MongoDB Atlas 是非常受欢迎的选择。

1. Heroku

Heroku 是一个非常方便的平台,支持多种编程语言,包括 Node.js。它提供了一种简单的方式来部署应用,并且有免费套餐供测试使用。

示例代码

首先,确保你已经在本地安装了 Node.js 和 MongoDB。然后,你可以使用以下步骤来创建一个简单的 Node.js 应用:

  1. 初始化项目:

    npm init -y
    
  2. 安装依赖:

    npm install express mongoose
    
  3. 创建一个简单的 Express 应用:

    // app.js
    const express = require('express');
    const mongoose = require('mongoose');
    
    const app = express();
    app.use(express.json());
    
    mongoose.connect('mongodb://localhost:27017/mydatabase', {
        useNewUrlParser: true,
        useUnifiedTopology: true
    });
    
    const userSchema = new mongoose.Schema({
        name: String,
        age: Number
    });
    
    const User = mongoose.model('User', userSchema);
    
    app.get('/', async (req, res) => {
        const users = await User.find();
        res.send(users);
    });
    
    app.listen(3000, () => console.log('Server started on port 3000'));
    
  4. 配置 Heroku:

    • 安装 heroku CLI。
    • 登录到 Heroku 账户。
    • 创建一个新的 Heroku 应用。
    • 将你的应用推送到 Heroku:
      git init
      heroku git:remote -a your-app-name
      git add .
      git commit -m "Initial commit"
      git push heroku master
      

2. AWS

AWS 提供了广泛的云服务,包括 Elastic Beanstalk(用于部署 Node.js 应用)和 Amazon DocumentDB(兼容 MongoDB)。

示例代码

与 Heroku 类似,您可以使用相同的 Express 和 Mongoose 代码。但是,连接字符串需要指向 AWS 上的数据库实例。

3. MongoDB Atlas

MongoDB Atlas 是一个完全托管的 MongoDB 数据库服务,非常适合与 Node.js 配合使用。

示例代码

在 MongoDB Atlas 中创建数据库后,您可以使用其提供的连接字符串来连接您的应用。例如:

mongoose.connect('mongodb+srv://username:password@cluster0.mongodb.net/test?retryWrites=true&w=majority', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

这些服务各有优缺点,选择哪一个取决于您的具体需求和预算。希望这些建议对您有所帮助!


免费的话代码托管到heroku,数据库可以用mongohq

不如自己买个VPS或者合租个VPS。。

如果国内用得话 ec2 和 heroku 都有点慢 如果 针对国外用户 倒是没有问题

我现在用DigitalOcean,新加坡机房不过速度一般,打算开发完弄到樱花vps,据说蛮快

BAE申请略蛋疼

这么一看 樱花vps果然还不错,就是不知道购买和部署是否负责,日文是否略显蛋疼

自己购买服务器部署撒…

对于 Node.js 和 MongoDB 的托管,有多个云服务提供商可以满足你的需求。以下是几个常用的平台:

1. Heroku

Heroku 是一个非常流行的平台,支持 Node.js 应用程序的快速部署。它提供免费层,但可能需要支付费用以获得更好的性能和资源。

示例代码:

// app.js
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const uri = 'mongodb+srv://<username>:<password>@cluster0.mongodb.net/test?retryWrites=true&w=majority';

const app = express();

MongoClient.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
    if (err) {
        console.error(err);
    } else {
        const db = client.db('mydatabase');
        app.get('/', async (req, res) => {
            const collection = db.collection('documents');
            const documents = await collection.find().toArray();
            res.send(documents);
        });
    }
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

2. AWS Elastic Beanstalk

AWS 提供了一个简单的部署工具,可以轻松地部署 Node.js 应用程序。你可以使用 Amazon DocumentDB(兼容 MongoDB)来存储数据。

示例代码:

// app.js
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const uri = 'mongodb://<username>:<password>@<db-host>:27017/mydatabase';

const app = express();

MongoClient.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
    if (err) {
        console.error(err);
    } else {
        const db = client.db('mydatabase');
        app.get('/', async (req, res) => {
            const collection = db.collection('documents');
            const documents = await collection.find().toArray();
            res.send(documents);
        });
    }
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

3. MongoDB Atlas

MongoDB Atlas 提供了完全托管的 MongoDB 数据库服务,可以轻松与任何 Node.js 应用程序集成。Atlas 提供了免费层,适合小型项目。

示例代码:

// app.js
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const uri = 'mongodb+srv://<username>:<password>@cluster0.mongodb.net/test?retryWrites=true&w=majority';

const app = express();

MongoClient.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
    if (err) {
        console.error(err);
    } else {
        const db = client.db('mydatabase');
        app.get('/', async (req, res) => {
            const collection = db.collection('documents');
            const documents = await collection.find().toArray();
            res.send(documents);
        });
    }
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));

以上是三个常用的平台及其基本示例代码。根据你的具体需求选择合适的平台。

回到顶部