简介:本文详细讲解微信小程序云开发中云数据库和云函数的核心概念、创建步骤及基础使用方法,通过代码示例演示数据操作和函数调用,帮助开发者快速掌握小程序后端开发能力。
微信小程序云开发为开发者提供了一站式后端服务解决方案,其核心价值在于:
典型应用场景包括:用户数据存储、内容管理系统、实时协作应用等。
project.config.json中确认已开启云开发能力cloudfunctions目录选择「新建Node.js云函数」
// 集合权限配置示例{"read": "auth != null","write": "doc._openid == auth.openid"}
// 插入数据const db = wx.cloud.database()db.collection('users').add({data: {name: '张三',age: 25,tags: ['VIP', 'new']}})// 条件查询const _ = db.commanddb.collection('articles').where({viewCount: _.gt(1000),category: '科技'}).get()
cloudfunctions目录新建Node.js函数(建议ES6语法)npm install --save wx-server-sdk@latest
// 获取微信开放数据const cloud = require('wx-server-sdk')cloud.init()exports.main = async (event, context) => {const { encryptedData, iv } = eventconst res = await cloud.getOpenData({list: [encryptedData],iv})return res.list[0].data}
cloud.logger()记录运行日志
// feedbacks集合结构{"_id": "自动生成","content": "反馈内容","contact": "联系方式","images": ["云文件ID"],"status": "pending/replied","createTime": "时间戳"}
// 提交反馈const cloud = require('wx-server-sdk')cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })exports.main = async (event) => {const { content, contact, images } = event// 内容安全检查if (!content || content.length > 500) {return { code: 400, msg: '内容长度不符合要求' }}// 写入数据库const db = cloud.database()const res = await db.collection('feedbacks').add({data: {content,contact,images,status: 'pending',createTime: db.serverDate()}})return { code: 200, data: res._id }}
数据库查询超限:
skip()+limit()分页查询云函数冷启动:
权限管理最佳实践:
openidcloud.callFunction提示:所有代码示例需在小程序基础库2.2.3及以上版本运行,建议开发者工具保持最新版本。