文档中心 > 店铺动态卡片-开发指引

使用说明

更新时间:2023/02/08 访问次数:13374

云开发提供了两类托管在云端的数据库:MongoDB和MySQL

说明:为了保证私密且安全的操作数据库,所有数据库API只能在云函数内部进行调用,不支持在小程序端上进行调用。


MongoDB数据库是基于 MongoDB 托管在云端的数据库,数据以 JSON 格式存储。一个数据库可以有多个集合(相当于关系型数据中的表),集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。

MySQL数据库基于阿里云PolarDB 托管在云端的数据库,可以在云函数中使用标准的SQL语句对数据进行操作。


一、MongoDB 与 MySQL 差异


MongoDB 和 JSON 格式的数据存储方式,跟关系型数据库(MySQL)不一样。


以下表格列举了 MongoDB 和关系型数据库 MySQL 的异同点。


MySQL

MongoDB

database

数据库

database

数据库

table

collection

集合

row

记录、行

document

文档、记录、行

column

字段

field

index

索引

index

索引

table joins

表连接

MongoDB 不支持

primary key

主键

MongoDB 自动将 _id 字段作为主键


二、使用方法


前提条件


要使用云函数SDK中提供的数据库API进行数据库操作,云函数SDK版本中必须有此API,否则调用可能会报错Error: connect EHOSTUNREACH 124.238.245.213:80),建议始终把云函数SDK版本号改成最新版本。


1121.png


以下是使用数据库API在数据库中新增记录的例子。


//MongoDB 向users集合中新增一条记录
exports.main = async function(context) {
    const cloud = context.cloud; 
    const result = await cloud.db.collection('users').insertOne({  
        name: 'tom',  
        age: 1 
    });
    return result;
}
//MySQL 向users表中增加一条记录
exports.insert = async (context) => {
  try {
     let data = await context.cloud.dataspace.executeSql('insert into users(name,age) values(?,?)', ['cx',18]);
     return data;  
  } catch (err) {
    console.log(err);  
    return {  success:false,  msg: err,  }  
  } 
}


更多数据库API 的具体使用方法,参考 MongoDB数据库 APIMySQL数据库API。(数据库暂不支持DDL操作


FAQ

关于此文档暂时还没有FAQ
返回
顶部