服务器内部错误,如有疑问请从帮助菜单进入社区提交问题,内部错误代码: FqAd5JEW
-
创建时间
16年5月21日
-
最后回复
16年5月24日
-
15
回复
-
2.1K
浏览
-
4
用户
-
2
链接
服务器内部错误,如有疑问请从帮助菜单进入社区提交问题,内部错误代码: FqAd5JEW
var knowledge = await knowledgeQuery.get(request.params.id);
var relation = knowledge.relation("tags");
var tagList = await relation.query()
relation.remove(tagList);
await Promise.all(request.params.tags.map(async (value) => {
var tagQuery = new AV.Query("Tag");
…………
var tag = await tagQuery.first();
relation.add(tag);
}));
await knowledge.save()
只是在云函数中报错吗?
能否在这里重现一下?我们定位下问题:
http://jsplay.avosapps.com/qud/edit?js,console5
定义云函数的代码:
AV.Cloud.define('setKnowledgeTag', async function (request, response) {
try {
var knowledgeQuery = new AV.Query('Knowledge')
var knowledge = await knowledgeQuery.get(request.params.id);
var relation = knowledge.relation("tags");
var tagList = await relation.query()
relation.remove(tagList);
await Promise.all(request.params.tags.map(async (value) => {
var tagQuery = new AV.Query("Tag");
tagQuery.equalTo("name", value)
tagQuery.doesNotExist("belong")
var tag = await tagQuery.first();
if (!tag) {
var tag = new Tag();
tag.set("name", value)
await tag.save();
}
relation.add(tag);
console.log(relation);
}));
console.log("pre save")
await knowledge.save()
console.log("after save")
response.success()
} catch (e) {
errorFn(response)(e)
}
});
命令行工具:
你好,我注意到了你的这两行:
var tagList = await relation.query()
relation.remove(tagList);
按照我们文档( https://leancloud.cn/docs/js_guide.html#多对多关系2 )上的介绍,query() 返回的是一个 Query 对象,需要在其上调用 find() 才可以得到结果。
var tagList = await relation.query().find()
relation.remove(tagList);
主题 | 分类 | 回复 | 浏览 | 活动 |
---|---|---|---|---|
关于leancloud的cpp-sdk的一些问题 | SDK / API | 8 | 1.7K | 15-12-21 |
AV.File添加属性不成功 | SDK / API | 2 | 900 | 15-10-25 |
destroyAll 删不掉数据 但返回成功 | SDK / API | 5 | 1.1K | 17-01-12 |
Android-SMS问题我终于解决了,全是我的锅,好吧! | SDK / API | 3 | 1.4K | 19-07-26 |
Unity客户端 设置AVRegion为US? | SDK / API | 6 | 1.4K | 16-05-19 |