微信小程序云开发将数据库一个集合数据保存到另一个集合
时间: 2024-05-14 18:16:00 浏览: 11
微信小程序云开发中,可以使用云函数来将一个集合的数据保存到另一个集合中。以下是一个简单的云函数示例:
```js
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const db = cloud.database()
const fromCollection = event.fromCollection // 原始集合名称
const toCollection = event.toCollection // 目标集合名称
// 从原始集合中获取数据
const { data } = await db.collection(fromCollection).get()
// 将数据保存到目标集合中
const promises = data.map(item => {
return db.collection(toCollection).add({
data: item
})
})
return Promise.all(promises)
}
```
在调用该云函数时,需要传入 `fromCollection` 和 `toCollection` 两个参数,分别表示原始集合名称和目标集合名称。例如:
```js
wx.cloud.callFunction({
name: 'copyCollection',
data: {
fromCollection: 'users', // 原始集合名称
toCollection: 'backup_users' // 目标集合名称
}
})
```
在上面的示例中,我们通过 `db.collection(fromCollection).get()` 方法从原始集合中获取数据,然后通过 `db.collection(toCollection).add()` 方法将数据保存到目标集合中。注意,由于 `db.collection().add()` 方法是异步的,我们需要使用 `Promise.all()` 方法等待所有的数据保存操作都完成后再返回结果。