我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vercel+MongoDBAtlas部署详细指南

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vercel+MongoDBAtlas部署详细指南

用Vercel和MongoDB Atlas进行部署

如何使用Vercel和MongoDB Atlas进行部署,甚至不需要尝试

Web应用程序部署到Vercel

你现在可以将你的Web应用程序部署到Vercel,并让它自动使用MongoDB Atlas集群作为数据存储。具体方法如下:

2022年MongoDB世界大会最有趣的公告之一是Vercel-MongoDB集成的发布。我们在这里看到的是整合大型基础设施组件的逐步简化和标准化。你能够利用你的数据存储和主机中的大量力量,而不需要在架构上大费周章。

减少对架构的纠结意味着有更多的时间来实现你的核心目标。让我们来看看新的精简的集成。

[也在InfoWorld上:2022年软件开发的方向]

在一起使用MongoDB和Vercel已经相当容易。然而,新的官方集成提供了一种标准的、带来若干好处的规定方法。让我们在我之前用来演示Vercel-MongoDB集成的这个项目上,看看事情是如何进行的。

你的Vercel和MongoDB Atlas基础设施之间的铰链是MONGODB_URI 环境变量。官方集成处理定义这个变量,并为你分享它,以及必要的权限。

  • 对于我们这里的演示,我们想要实现的是一个基于SvelteKit的应用程序,我们在本地开发,有一个本地MongoDB数据存储。
  • 然后我们想把这个应用部署到Vercel,让它自动使用MongoDB Atlas集群作为其数据存储。这是一个非常常见的设置。顺便说一句,这对React/Next或Vue/Nuxt来说,大部分工作都是一样的。基本设置见图1。

Vercel-MongoDB 应用程序的开发和生产架构

SvelteKit 演示应用程序

我们的演示应用程序是一个 SvelteKit 应用程序,它允许创建一个简单的文档,即 apothegm,带有一个文本和作者字段,并显示数据库中的 apothegms 列表。对于我们的文件的文本,我们将使用一些精炼的神谕。

SvelteKit是一个全栈框架,所以我们将使用视图中的load方法来访问后端并加载任何现有的apothegms,如清单1。

清单1.SvelteKit的load()方法

 export async function load({ params, fetch, session, stuff }) {
    const res = await fetch('/apothegm', {
      method: "GET",
      headers: { 'content-type': 'application/json' }
    });
    return {
      props: {
        apothegms: await res.json()
      }
    };
  }
复制代码

你可以在这里找到更多关于SvelteKit的加载方法的信息,但主要的想法是,我们在页面启动之前就会点击后端API,并将结果的JSON插入到props.apothegms 字段中。该字段也暴露在一个普通的脚本元素中,因此页面可以访问它,行数为export let apothegms;

在后端,/apothegm获取方法看起来像清单2。

清单2.从后端取回apothegms

import clientPromise from '../lib/mongo';

export async function get ({request}) {
  const dbConnection = await clientPromise;
  const db = dbConnection.db("apothegm");
  const collection = db.collection("apothegm");
  let apos = await collection.find({}).toArray();

  return {
    status: 200,
    headers: { 'content-type': 'application/json' },
    body: { apos }
  };
}
复制代码

清单2返回一个充满从数据存储中检索的apothegms的主体,即从apothegm数据库和apothegm集合中检索。这个方法主要依赖于从lib/mongo导入的clientPromise 对象。让我们看看清单3中该模块的相关部分。

清单3.MongoDB帮助器/lib/mongo.js

import 'dotenv/config';
import { MongoClient } from 'mongodb';

const uri = process.env["MONGODB_URI"];
const options = {
    useUnifiedTopology: true,
    useNewUrlParser: true,
}

let client;
let clientPromise;

if (!uri) {
    throw new Error('Please set Mongo URI')
}

if (process.env['NODE_ENV'] === 'development') {
    if (!global._mongoClientPromise) {
        client = new MongoClient(uri, options)
        global._mongoClientPromise = client.connect()
    }
    clientPromise = global._mongoClientPromise
} else {

    client = new MongoClient(uri, options)
    clientPromise = client.connect()
}

export default clientPromise
复制代码

清单3通过MONGODB_URI 环境变量创建一个与MongoDB实例的连接来完成其工作。这个变量是通过调用process.env["MONGODB_URI"] 从环境中提取的。

注意这个文件的第一行是调用导入'dotenv/config' 。这个导入导致dotenv库自我启动。dotenv的目的是为应用程序从配置文件中加载环境变量(以一种与操作系统无关的方式)。更多相关信息请点击这里。

对于我们的应用程序,我们想在开发期间将该变量设置为本地URI,并在生产期间将其设置为远程MongoDB Atlas URL。我们可以通过提供一个.env文件来做到这一点,dotenv在本地开发时可以找到这个文件,但在生产时则不能。为了达到这个目的,我们不将该文件纳入版本控制--我们将其添加到.gitignore。清单4中显示了这两个文件的相关部分。

清单4.添加到.env和.gitignore中

// .env
MONGODB_URI="mongodb://localhost:27017
复制代码
// .gitignore
.env
.env.*
复制代码

这意味着在开发过程中,我们的应用程序将击中本地MongoDB的安装。在这一点上,你可以用npm run dev 来启动该应用程序,一切都应该正常。

Vercel-MongoDB的生产设置

现在,开发已经启动并运行,我们将把注意力转向设置生产,或者我们称之为prod。在现实世界中,你将实施测试和暂存步骤,然后从暂存推广到生产。

在任何情况下,你都需要Vercel和MongoDB Atlas的账户。这两项服务都提供了免费的业余级别的账户,设置起来快速而简单。MongoDB注册,Vercel注册。

将项目导入Vercel

一旦你有了账户,你就可以登录Vercel,创建一个新项目,并导入项目的代码。

一旦导入完成,Vercel将自动构建和部署该项目。(松了一口气:没有额外的基础设施工作。) 构建将成功,但当你查看该项目时将显示一个错误。这是因为没有可用的数据存储。

创建一个MongoDB Atlas集群

现在你想在MongoDB Atlas中创建一个集群,作为你的生产数据的家。在你的MongoDB控制台,很容易创建一个免费的集群(说明在这里)。你还会在这一过程中创建一个数据库用户。

回到Vercel来添加集成

一旦你有一个可使用的集群,下一步是将MongoDB集成添加到你的Vercel用户账户。(在企业设置中,你可以把它添加到你的Vercel团队中。) 导航到vercel.com/integration…,点击顶部的 "添加集成 "按钮。你会看到一个包含下拉菜单的模式,你想使用的账户应该出现在那里,如下图屏幕1。

屏幕1.添加MongoDB Atlas集成到Vercel

接下来,你可以选择将集成添加到所有项目或特定项目中。为了这个演示,让我们选择 "添加到所有 "并点击继续。

暂时回到MongoDB Atlas中

添加集成将在另一个窗口中启动一个MongoDB注册页面。如果你还没有一个MongoDB账户,你可以设置一个。否则,请登录到你现有的账户。

接下来,一个对话框将询问将集成添加到哪个MongoDB Atlas组织。使用你为你的用户设置的默认值即可。

最后,在最后一个屏幕上点击确认按钮,接受你必须手动卸载集成,如果你想删除它,如屏幕2所示。

屏幕2.在MongoDB Atlas中确认组织权限

现在你会看到你选择的MongoDB Atlas项目和其中的集群。 你将把左侧下拉框中的集群与右侧多选中的一个或多个Vercel项目联系起来。在我们的案例中,我们想把我们之前创建的Vercel项目添加到右侧的选择中。你可以在屏幕3中看到这一点。

屏幕3.将Vercel项目与MongoDB Atlas集群相关联

下一步是在MongoDB Atlas集群和Vercel项目之间创建桥梁。确保你在Vercel方面选择了正确的项目!

一旦这样做了,Vercel项目将自动访问我们需要的环境变量(MONGODB_URL),以便轻松地连接到数据存储。

回到Vercel进行测试

回到Vercel中,你会在集成标签中看到MongoDB Atlas集成,如屏幕4。

屏幕4.Vercel中的MongoDB Atlas集成

在这里,你可以对集成的Vercel端进行修改(包括卸载它,如果你愿意,选择管理->卸载)。

接下来,我们验证Vercel项目是否已经接受了新的环境变量,该变量指的是MongoDB Atlas的安装。打开Vercel项目,并点击设置。在设置中,点击左侧菜单中的 "环境变量"。然后你应该看到一个MONGODB_URI 变量列在那里,如屏幕5。

屏幕5.Vercel项目中的环境变量

如果你点击变量中的眼睛图标,你可以看到值,它应该指向你的MongoDB Atlas集群。这验证了环境变量在部署时对应用程序是可用的。

现在,如果你点击项目查看,你会看到它正在运行,数据由Atlas集群驱动,如屏幕6所示。

屏幕6.在prod中运行的Vercel-MongoDB Atlas集成

最重要的是,Vercel-MongoDB集成给了我们一个简单的方法来连接我们部署在Vercel中的应用程序和运行在MongoDB Atlas中的数据存储。类似的方法可用于将应用程序与不同环境中的数据联系起来,从测试到暂存,再到生产。

总的来说,这种整合允许用一种更标准化的方法来利用全球 "扩展到零 "的基础设施,而不需要太多麻烦。

以上就是Vercel+MongoDB Atlas部署详细指南的详细内容,更多关于Vercel MongoDB Atlas部署的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vercel+MongoDBAtlas部署详细指南

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vercel+MongoDBAtlas部署详细指南

这篇文章主要为大家介绍了Vercel+MongoDBAtlas部署的详细指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

Hexo部署到阿里云ECS的详细指南

本文主要介绍了如何使用Hexo构建个人或企业博客,并部署到阿里云ECS服务器上。通过本篇文章,读者可以了解到如何使用Hexo搭建博客,以及如何使用阿里云ECS服务器来部署博客。正文:一、Hexo简介Hexo是一款开源的静态博客框架,它可以帮助我们快速构建博客站点,并且能够与多个主题进行配合,以满足不同用户的需求。
Hexo部署到阿里云ECS的详细指南
2023-11-04

阿里云部署项目数据库的详细指南

随着云计算技术的发展,越来越多的企业开始将其业务转移到云端。其中,数据库是企业数据存储的核心,也是业务运行的重要支撑。因此,如何在阿里云上部署项目数据库成为了众多企业关注的焦点。本文将详细介绍阿里云数据库部署的具体步骤和需要注意的事项,希望能对您的工作有所帮助。一、准备工作阿里云账号:首先,你需要在阿里云上创建一
阿里云部署项目数据库的详细指南
2023-11-04

阿里云服务器部署地图的详细指南

在数字化时代,地图已经成为我们生活、工作和学习的重要工具。为了方便使用,很多公司和个人选择在自己的服务器上部署地图。本文将详细介绍如何在阿里云服务器上部署地图。正文:准备工作:首先,你需要有一个阿里云服务器,然后在服务器上安装好地图相关的软件,如MapServer、GDAL、PostGIS等。安装MapServe
阿里云服务器部署地图的详细指南
2023-12-15

逐步配置Golang环境:详细部署与安装指南

在这篇文章中,我将向大家介绍如何一步步部署和安装Golang环境。Go语言是一种高效、简洁和强大的编程语言,它被广泛应用于后端开发、系统编程等领域。通过本教程,你将能够轻松配置Golang环境,并准备好开始使用这门语言进行开发。步骤一:下
逐步配置Golang环境:详细部署与安装指南
2024-02-25

Node项目部署到阿里云服务器的详细操作指南

本篇教程将详细说明如何将Node项目部署到阿里云服务器。我们将会首先创建阿里云服务器,然后安装Node.js和npm,最后将项目代码上传到服务器,实现项目的部署。一、创建阿里云服务器首先,你需要在阿里云的官网注册并登录你的账户,然后点击“产品与服务”->“服务器”->“ECS实例”来创建一个新的ECS实例。在实例
Node项目部署到阿里云服务器的详细操作指南
2023-11-22

云服务器部署指南

1.选择云服务提供商选择一个可靠的云服务提供商是部署云服务器的第一步。目前市场上有很多知名的云服务提供商,如亚马逊AWS、微软Azure、谷歌云等。你可以根据自己的需求和预算选择适合的云服务提供商。2.注册账号并创建云服务器实例在选择好云服务提供商后,你需要注册一个账号并登录到云控制台。在控制台中,你可以创建一个云服务器实例。通常,你需要选择服务器的地理位置、操作系统、实例类型和存储容量等参数。3.配置网络...
2023-10-27

Flask应用的Gunicorn部署指南

如何使用Gunicorn部署Flask应用?Flask是一个轻量级的Python Web框架,被广泛应用于开发各种类型的Web应用。而Gunicorn(Green Unicorn)是一个基于Python的HTTP服务器,用于运行WSGI(
Flask应用的Gunicorn部署指南
2024-01-17

部署VSCODESERVER的详细过程

这篇文章主要介绍了部署VSCODESERVER的详细过程,本文指导利用微软官方的vscodeserver部署个人开发环境,并通过网页端或vscode客户端访问该环境,需要的朋友可以参考下
2023-05-15

阿里云ECS环境部署指南

简介:本文将详细介绍如何在阿里云上部署和管理ECS环境。我们将涵盖从创建ECS实例到配置网络、安装操作系统、安装软件和服务的所有步骤。正文:创建ECS实例在阿里云控制台上,选择“ECS实例”选项,然后点击“创建实例”。在创建实例页面,您需要填写以下信息:实例类型:选择适合您的应用程序需求的实例类型。计算资源:设置实例的
阿里云ECS环境部署指南
2024-01-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录