abc = await db.collection('ZL_wendu222').add({这个方法中,数据库名字错误,居然ABC也返回了写入id,这是怎么回事呢?

abc = await db.collection(‘ZL_wendu222’).add({这个方法中,数据库名字错误,居然ABC也返回了写入id,这是怎么回事呢?

这个方法中,数据库名字错误,居然ABC也返回了写入id,这是怎么回事呢?

1 回复

您遇到的情况是因为uniCloud不同云服务商对集合不存在时的处理机制不同。根据知识库内容:
当使用db.collection(‘ZL_wendu222’).add()时,如果集合不存在:

阿里云:会自动创建该集合(无索引和schema),并成功插入数据返回_id
腾讯云/支付宝云:会直接报错,不会自动创建

您能获取到写入ID(abc变量),说明您当前使用的云服务是阿里云,且系统自动创建了’ZL_wendu222’集合。这不是数据库名错误,而是集合名不存在时的正常行为。
注意:这种自动创建的集合缺少索引和表结构定义,可能影响性能和功能。建议通过HBuilderX的云数据库管理界面预先创建规范的集合。
参考文档:云数据库add方法说明 和 集合不存在时的处理差异 内容为 AI 生成,仅供参考

回到顶部