首先,在Hbuilderx建立uniapp项目时,我使用了默认模板,所以并没有建立uniCloud云服务,也就是说没有与其相关联。

所以,先想办法建立以下uniCloud与服务吧:

在项目名上右键选择创建uniCloud云开发环境,里面包含阿里云,腾讯云(据说,阿里云后续操作简单点,我就使用的是阿里云)

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_右键

            

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_右键_02

展开uniCloud:

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_字段_03

一个是用来放云函数的,一个是用来放云数据库的。

当然,这是我关联云服务之后的截图,如果,没有关联的话,是没有pk-app01的。所以,接下来右键uniCloud文件夹,里面选择关联云服务空间或项目,接下来就会出现这个弹窗:

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_右键_04

pk-app01在没有关联的时候是没有的,所以,就得新建一个,点击新建-------》好了,可以用实名制认证了,上传身份证就好了。

之后,你就可以新建

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_云服务_05

所以,我的pk-app01就新建好了,也就看到了我之前的截图出现的了。

点开pk-app01:

如下图:business和user是我新建的表:

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_字段_06

哎,本来不想记录这么多废话的。

首先,将鼠标放在表的名字上,可以选择更改表名,或者删除。

其次,每一个表都有三个逻辑:数据,索引,表结构

数据:增,删,改,查记录(一般会直接使用前端代码增加,否则就变得没意义了)

索引:我暂时未用到,到时再说吧。

表结构:这个可以在进入编辑,写schame(json格式),这个比较重要。当然,我比较喜欢在Hbuilderx里面写好,然后在文件或者文件夹上面右键上传。

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_云服务_07

好了,说说我的错误吧:

const db = uniCloud.database()  // 获取数据库
                 const user = db.collection('user')  // 创建user表对象
                 user.add({
                     phone:this.registerPhone,
                     password:this.password
                 }).then((res)=>{
                     console.log(res);
                 }).catch((err)=>{
                     console.log(err);
  })

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_右键_08

权限校验未通过!!!

诶,该好好读读官网了》》》

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_字段_09

人家都说的好清楚了,

对于表来说,permission有create,update,delete,count,read权限了,通过改变他的true和false来控制就好了,

对于字段来说,有write,read权限。

所以,当我使用jQL语法的时候,要好好的赋予人家权限呀!!!

所以,插入成功!!

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_uni-app_10

最后,,,,,

还有一个问题:

在我的字段中存在一个password字段,我给他的bsonType类型为“password”的时候,报这个错:

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_云服务_11

怎磨回事???

这不是权限的问题吗??

我把他的所有permission都改为了true呀,,,所以,这是咋回事??

uniapp 中app模块配置 appkey_ios不能为空 uniapp clientdb_字段_12

好吧,,,,我飘了。。。。

schame中的bsonType支持的基础类型:

  • String:字符串
  • Number:数字
  • Object:对象
  • Array:数组
  • Bool:布尔值
  • GeoPoint:地理位置点
  • GeoLineStringL: 地理路径
  • GeoPolygon: 地理多边形
  • GeoMultiPoint: 多个地理位置点
  • GeoMultiLineString: 多个地理路径
  • GeoMultiPolygon: 多个地理多边形
  • Date:时间
  • Null:相当于一个占位符,表示一个字段存在但是值为空。

官方链接,yyds

https://uniapp.dcloud.io/uniCloud/