当前位置: 首页>数据库>正文

uniCloud基础教程

1. 云函数(不推荐,大概看看)

// 客户端
uniCloud.callFunction({
    name: 'hellocf',
    data: { a: 1 }
  })
  .then(res => {});

//服务端
// hellocf云函数index.js入口文件代码
'use strict';
exports.main = async (event, context) => {
    //event为客户端上传的参数
    let c = event.a + event.b
    return {
        sum: c
    } // 通过return返回结果给客户端
}

2. 云对象(不推荐, 大概看看)

//客户端
    const product = uniCloud.importObject("product-class")

        methods: {
            getdata() {
                product.get().then(res => {
                    console.log(res)
                    this.tableData = res.data
                    this.loading = false
                })
            },
            add(){
                product.add(this.formData).then(res => {
                    this.getdata()
                })
            },
            del(id){
                console.log(id)
                product.del(id).then(res => {
                    this.getdata()
                })
            },
            edit(item){
                product.edit(item).then(res => {
                    this.getdata()
                })
            }
        }


//服务端增删改查
const db = uniCloud.database()
module.exports = {
    _before: function () { // 通用预处理器

    },
    async get() {
        return await db.collection("product-class").get()
    },
    add: async (data) => {
        await db.collection("product-class").add(data)
    },
    del: async (id) => {
        await db.collection("product-class").doc(id).remove()
    },
    edit: async(item) => {
        let {id, name, sort, _id} = item
        await db.collection("product-class").doc(_id).update({id, name, sort})
    }
}

3 .客户端直连(推荐, 无需新建云函数,对象)

//新建DB-Schema(确定字段, 以及字段规则. 校验. 外键等)
[ 文档教程:](https://uniapp.dcloud.net.cn/uniCloud/schema)
{
    "bsonType": "object",
    "required": [], //必填字段校验
    "permission": { //增删改查限制
        "read": false,
        "create": false,
        "update": false,
        "delete": false
    },
    "properties": {
        "_id": {
            "description": "ID,系统自动生成"
        },
        "title": {
            "bsonType": "string", //字符串类型
            "title": "标题", //标题,开发者维护时自用。在schema2code生成前端表单代码时,默认用于表单项前面的label
            "description": "描述", //描述
            "trim": "both", //去掉前后空白
            "minLength": 2,
            "maxLength": 17
        },
        "time": {
            "bsonType": "timestamp", //时间类型
            "title": "发布时间",
            "defaultValue": { //服务器时间戳.  默认值
                "$env": "now"
            }
        },
        "hits": {
            "bsonType": "int", //整数类型
            "title": "阅读量",
            "defaultValue": 22, //默认值
            "minimum": 1950,
            "maximum": 2020
        },
        "tel": {
            "bsonType": "string",
            "title": "手机号码",
            "pattern": "^\+?[0-9-]{3,20}$",
            "trim": "both"
        },
    }
}


//客户端
const db = uniCloud.database()

        methods: {
            addresume() {
                db.collection("resume").add({
                    "name": "1",
                    "birth_year": 1949,
                    "tel": "1",
                    "email": "1"
                }).then((res) => {
                    // res 为数据库查询结果
                    console.log(res)
                }).catch((err) => {
                    console.log(err.message)
                });
            }

4. SQL语法(神器, 无需转码, 联表简单) == >= > < && ||直接使用

            // 使用`jql`查询list表内`name`字段值为`hello-uni-app`的记录
            db.collection('list')
            .where('name == "hello-uni-app"')
            .get()
            .then((res) => {
                // res 为数据库查询结果
            }).catch((err) => {
                // err.message 错误信息
                // err.code 错误码
            })

//新增
仅允许`collection().add()`这样的形式

//修改
db.collection('xx').doc('xxx').update({})
db.collection('xx').where('xxxx').update({})

//删除
db.collection('xx').doc('xxx').remove()
db.collection('xx').where('xxxx').remove()

//jql语句内云端环境变量
$cloudEnv_uid   用户uid,依赖uni-id
$cloudEnv_now   服务器时间戳
$cloudEnv_clientIP  当前客户端IP



https://www.xamrdz.com/database/6vs1850453.html

相关文章: