创建了一个云开发函数:getsonglist
云函数中的index.js的内容如下:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
traceUser: true,
env: 'mss-y6c6p'
})
const db = cloud.database(); //云数据库初始化
const rp=require('request-promise')
// 歌单数据的URL
const URL ='http://musicapi.xiecheng.live/personalized'
// 云函数入口函数
exports.main = async (event, context) => {
// 得到URL中对应的歌单信息 保存到songlist2变量中
const songlist2=await rp(URL).then((res)=>{
return JSON.parse(res).result //转换成Json格式 数组形式
})
// console.log(songlist)
//将songlist2中的值保存到云端数据库中
for(let i=0;i<songlist2.length;i++){
await db.collection('songlist').add({
data:{
...songlist2[i],
createTime: db.serverDate()
}
}).then((res)=>{
console.log('数据插入成功')
}).catch((err)=>{
console.error('数据插入失败')
})
}
}
上传并部署后,测试云函数报错:
很奇怪,在云数据库我创建了songlist集合并且cloud初始化也指定了环境,还是报错集合不存在。
求指教!
有时候会有bug
//数据库初始化改成这样试试: const db = cloud.database({env: 'mss-y6c6p'}) //还有你数据库里面建有songlist 没 //你这样循环插入数据太浪费了,一次插入多条数据更好