零基础入门低代码后端开发,只需几行代码就可以操作数据库

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 零基础入门低代码后端开发,只需几行代码就可以操作数据库

目录

创建自定义连接器

文档型数据库介绍

获取数据库实例

获取数据库的集合

查询数据

小程序中调用

总结

在日常小程序开发中,我们经常需要将表单收集到的数据存入数据库中,方便日后的查阅。如果采用传统架构,需要租用虚拟机,部署Mysql。后端服务如果直接暴露到公网上,如果没有做好安全防护,很容易被攻击。

尤其对于初学者,自己搭建后端服务无疑是困难的。那有没有相对轻量简便的方案来搭建后端服务呢?2021年推出的微搭低代码就可以方便的解决这个问题。低代码以云开发为技术底座,可以通过简便的API就能操作和访问线上的数据库。本文就带着大家体验一下线上后端服务的各种能力。

创建自定义连接器


低代码中是通过自定义连接器来操作数据库的。我们可以登录低码的控制台,点击自定义连接器,点击新建自定义连接器,来创建后端服务

在弹出的窗口输入服务的名称,标识会自动生成

点击立即新建按钮来增加后端的方法

我们这里选择自定义代码来操作数据库

文档型数据库介绍


要想获取数据库的引用,首先要知道数据库在哪存放的。微搭底层是使用的云开发,我们要切换到云开发Cloudbase产品去。具体可以在导航条上找到相应的产品。进入之后,找到数据库

关系型数据库不同的是,微搭使用的是文档型数据库。在关系型数据库里,是以表为单位来管理和存放数据的。而文档型数据库是使用集合的概念来存放数据的。

另外的不同就是数据结构的不同,关系型数据库的是以行和列来管理数据的。文档型数据库的概念叫记录。每条记录都是一个json对象

json对象最大的特点是以键值对来存储数据,左边是键,右边是值。初学者可能会说,我要怎么理解呢?我感觉你还是记忆比较好,因为IT也是独立的一个学科,本身零基础,然后非要和现实世界硬扯上关系,往往你理解的都是错误的。导致了在错误的道路上越走越远。

基础的概念熟悉了之后,那要如何操作数据库呢?操作数据库一般会有代码模板,我们可以从官方文档找到模板

module.exports = async function (params, context) {
  const result = await context.database.collection('数据库集合名称').get();
  // 在这里返回这个方法的结果,需要与出参定义的结构映射
  return {
    _id: 123456
  };
};

有的初学者会吐槽说官方文档写的让人看不懂。其实并不是官方文档写的不好,因为你任何基础也没有,上来就直接开始做软件,未免有点急于求成的感觉。

官方文档一般是给你提供编程指引,先是解释各种技术概念,然后会辅以代码。有了代码我们就需要知道在哪里使用,一般是可以将这段代码直接粘贴到自定义连接器的方法里,如下:

这里要注意需要把原来自动生成的代码都删掉,然后贴入官方文档的代码。这样,你的代码模板就有了。

获取数据库实例


我们如果需要操作数据库,一般是需要获取数据库的实例,我们改造一下代码,增加一行获取数据库实例的代码

module.exports = async function (params, context) {
  const db = context.database
  //const result = await context.database.collection('数据库集合名称').get();
  // 在这里返回这个方法的结果,需要与出参定义的结构映射
  return {
    _id: 123456
  };
};

这里const表示常量的意思,赋值之后就不允许改变。context表示程序的上下文,一般里边会预置各类属性,我们通过点的语法调用了database这个属性。通过这句话我们就获取到了数据库的实例

所谓的数据库实例就是当前这个云开发环境下的数据库

获取数据库的集合


获取到数据库之后,我们下一步就需要获取具体的集合,如果和关系型数据库做对比,就是要获取某张表,获取集合的代码如下:

module.exports = async function (params, context) {
  const db = context.database
  const collection = db.collection("user")
  //const result = await context.database.collection('数据库集合名称').get();
  // 在这里返回这个方法的结果,需要与出参定义的结构映射
  return {
    _id: 123456
  };
};

这里的user就是我们的集合名称,那这个名称要如何去找呢?我们先需要在数据模型找到我们需要获取的数据源

这里的标识还不是集合的名称,我们要在数据库的列表上挨个对比是哪一个集合

找到之后需要将这个名字替换到编辑器中

查询数据


我们获取到集合后,一般是先需要获取数据。我们可以调用get方法来获取数据。先看一下这个方法的介绍

一般看一个官方方法,需要了解三部分的内容。先是看接口描述,看这个方法是干什么用的。然后看入参,入参是我们调用的时候必须传入的。接着需要看返回结果,返回结果一般是我们需要获取的数据。

这里get方法是用来获取数据,最多只能获取100条,这个是必须要注意的。我们在关系型数据库是通过select语句来获取表的记录的,如果没指定是获取的全部数据。文档型数据库不允许返回全部,一般你在小程序部分调用的时候是需要考虑分页的,要不然就获取不到所有的数据。

我们再改一下代码,来获取一下数据

module.exports = async function (params, context) {
  const db = context.database
  const collection = db.collection("lcap-data-2hhicMDfJ-hsjcd_avb5fh8-preview")
  const result = await collection.get()
  //const result = await context.database.collection('数据库集合名称').get();
  // 在这里返回这个方法的结果,需要与出参定义的结构映射
  return result;
};

改造完之后可以点击界面上的方法测试,看看我们有没有获取到数据

因为我们的get方法不需要参数,所以提交参数那是一个空对象。运行之后测试结果是成功,而且也正确的返回了数据。正常之后就需要点击出参映射,让方法有返回值

小程序中调用


后端方法写好之后,一般是需要在小程序中调用的。调用比较简单,可以先定义个模型变量,来调用我们刚刚创建的方法。测试发现,无法在变量里调用,主要的原因是方法意图必须选择查询列表。勾选了之后我们就可以在模型变量里调用我们的自定义连接器的方法

展示的时候,我们可以绑定返回结果的数组

文本内容从循环中绑定即可

总结


我们本篇详细的介绍了如何在低代码中使用云开发数据库,需要先定义自定义连接器,通过api的形式获取数据。小程序中通过定义模型变量,然后做变量绑定即可。过程明白了,在开发后端服务时就不会无从下手了,还不会的同学赶紧去练一练吧。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
17天前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
44 4
|
2天前
|
存储 JSON 测试技术
【HarmonyOS Next开发】云开发-云数据库(二)
实现了云侧和端侧的云数据库创建、更新、修改等操作。这篇文章实现调用云函数对云数据库进行增删改查。
20 9
|
8天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
37 3
|
23天前
|
存储 前端开发 Java
深入理解后端开发:从基础到高级
本文将带你走进后端开发的神秘世界,从基础概念到高级应用,一步步揭示后端开发的全貌。我们将通过代码示例,让你更好地理解和掌握后端开发的核心技能。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
22天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
21天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
33 1
|
22天前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
41 1
|
23天前
|
负载均衡 监控 API
后端开发中的微服务架构实践与挑战
本文深入探讨了微服务架构在后端开发中的应用,分析了其优势和面临的挑战,并通过案例分析提出了相应的解决策略。微服务架构以其高度的可扩展性和灵活性,成为现代软件开发的重要趋势。然而,它同时也带来了服务间通信、数据一致性等问题。通过实际案例的剖析,本文旨在为开发者提供有效的微服务实施指导,以优化系统性能和用户体验。
|
1天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
26天前
|
Web App开发 开发框架 JavaScript
深入浅出Node.js后端开发
本文将带你领略Node.js的魅力,从基础概念到实践应用,一步步深入理解并掌握Node.js在后端开发中的运用。我们将通过实例学习如何搭建一个基本的Web服务,探讨Node.js的事件驱动和非阻塞I/O模型,以及如何利用其强大的生态系统进行高效的后端开发。无论你是前端开发者还是后端新手,这篇文章都会为你打开一扇通往全栈开发的大门。