688
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2023软件工程实践W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 课程回顾与总结 个人技术总结 |
| 其他参考文献 | 《构建之法》 |
微信小程序后端开发时使用
分离数据库调用功能和程序功能,程序结构更加清晰。
使用云函数编写功能能够将功能细化,实现低内聚。
一次编写,可多次在不同js中调用,提高代码重用率。
多表联合查询
在项目下新建一个目录
指定该目录为云函数的跟目录

在项目的app.js文件中指定云开发的环境ID

在云函数根目录右键点击新建node.js云函数

在新建的云函数处右键在终端打开

编写云函数内容

增
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database();
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()//目的:获取_openid
try {
return await db.collection("order").add({
data: {
normalUser: wxContext.OPENID,//获取操作者_openid的方法
}
})
} catch (e) {
console.log(e)
}
}
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database();
const _ = db.command //引用指令
// 云函数入口函数
exports.main = async (event, context) => {
try {
return await db.collection("order").where({
orderState:event.orderState,
})
.delete({
data: {
doneTime: event.doneTime,
orderState: "已完成"
}
})
} catch (e) {
console.error(e)
}
}
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database();
const _ = db.command //引用指令
// 云函数入口函数
exports.main = async (event, context) => {
try {
return await db.collection("order").where({
orderState:event.orderState,
})
.update({
data: {
doneTime: event.doneTime,
orderState: "已完成"
}
})
} catch (e) {
console.error(e)
}
}
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
try {
return await db.collection('order' ).where({
orderState:event.orderState,
}).get();
} catch (e) {
console.error(e);
}
}
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
try {
//order
return await db.collection('order').where({
orderState:"待接单",
})
.field({ 'name': true })
.get();
} catch (e) {
console.error(e);
}
}
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database()
const $ = db.command.aggregate
// 云函数入口函数
exports.main = async (event, context) => {
return await db.collection('user_record').aggregate()
.lookup({
from: 'user',
localField:'open_id',
foreignField:'open_id',
as:'user',
})
.match({
game_record_id:event.game_record_id
})
.replaceRoot({
newRoot: $.mergeObjects([$.arrayElemAt(['$user', 0]), '$$ROOT'])
})
.project({
_id:0,
open_id:1,
user_name:1,
identity:1,
latitude:1,
longitude:1
})
.end()
}




