Python 部署MongoDB数据库

Python 部署MongoDB数据库,python,mongodb,heroku,Python,Mongodb,Heroku,我正在构建一个小的网络应用程序。我使用MongoDB检索和存储我的数据,目前一切正常,但现在我想在线托管我的应用程序 我知道如何在Heroku上部署我的脚本,但我不知道它应该如何与MongoDB配合使用,也许会将MongoDB添加到我的应用程序需求中 我做了一些研究,发现关于Mlab,有一个Heroku插件,但不幸的是,Mlab很快就要迁移到Atlas了(编辑,就说你添加了关于迁移Mlab的内容,也提供了与Atlas上Mlab相同的沙箱选项,正如你所说的,你也可以在本地安装它并将其添加到你的设置

我正在构建一个小的网络应用程序。我使用MongoDB检索和存储我的数据,目前一切正常,但现在我想在线托管我的应用程序

我知道如何在Heroku上部署我的脚本,但我不知道它应该如何与MongoDB配合使用,也许会将MongoDB添加到我的应用程序需求中

我做了一些研究,发现关于Mlab,有一个Heroku插件,但不幸的是,Mlab很快就要迁移到Atlas了

(编辑,就说你添加了关于迁移Mlab的内容,也提供了与Atlas上Mlab相同的沙箱选项,正如你所说的,你也可以在本地安装它并将其添加到你的设置中。py)

本地设置
  • 下载免费的MongoDB数据库,网址为
  • PyMongoPython需要一个MongoDB驱动程序来访问MongoDB数据库。使用PIP安装“PyMongo”

  • mlab样本设置 为什么不看看我的一个项目,看看我是如何在CDN上部署mongo的

    我使用这个网站创建了一个沙盒免费CDN数据库

    坚持使用CDN中的数据库,这样我们甚至不需要在系统上安装它

    //这是我们的MongoDB数据库,将其更改为CLOUD MONGO link const dbRoute=“mongodb://****:******@********.mlab.com:*****/********”


    您能指定您使用的是django/flask还是什么库吗?@Mr Programs我使用的是Dash!
    const mongoose = require("mongoose");
    const express = require("express");
    const bodyParser = require("body-parser");
    const logger = require("morgan");
    const Data = require("./data");
    
    const API_PORT = 3001;
    const app = express();
    const router = express.Router();
    
    // this is our MongoDB database, change this to CLOUD MONGO link
    const dbRoute = "mongodb://*****:******@******.mlab.com:*****/*********";
    
    // connects our back end code with the database
    mongoose.connect(
      dbRoute,
      { useNewUrlParser: true }
    );
    
    let db = mongoose.connection;
    
    db.once("open", () => console.log("connected to the database"));
    
    // checks if connection with the database is successful
    db.on("error", console.error.bind(console, "MongoDB connection error:"));
    
    // (optional) only made for logging and
    // bodyParser, parses the request body to be a readable json format
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(bodyParser.json());
    app.use(logger("dev"));
    
    // this is our get method
    // this method fetches all available data in our database
    router.get("/getData", (req, res) => {
      Data.find((err, data) => {
        if (err) return res.json({ success: false, error: err });
        return res.json({ success: true, data: data });
      });
    });
    
    // this is our update method
    // this method overwrites existing data in our database
    router.post("/updateData", (req, res) => {
      const { id, update } = req.body;
      Data.findOneAndUpdate(id, update, err => {
        if (err) return res.json({ success: false, error: err });
        return res.json({ success: true });
      });
    });
    
    // this is our delete method
    // this method removes existing data in our database
    router.delete("/deleteData", (req, res) => {
      const { id } = req.body;
      Data.findOneAndDelete(id, err => {
        if (err) return res.send(err);
        return res.json({ success: true });
      });
    });
    
    // this is our create methid
    // this method adds new data in our database
    router.post("/putData", (req, res) => {
      let data = new Data();
    
      const { id, message } = req.body;
    
      if ((!id && id !== 0) || !message) {
        return res.json({
          success: false,
          error: "INVALID INPUTS"
        });
      }
      data.message = message;
      data.id = id;
      data.save(err => {
        if (err) return res.json({ success: false, error: err });
        return res.json({ success: true });
      });
    });
    
    // append /api for our http requests
    app.use("/api", router);
    
    // launch our backend into a port
    app.listen(API_PORT, () => console.log(`LISTENING ON PORT ${API_PORT}`));