服务器内部错误,如有疑问请从帮助菜单进入社区提交问题,内部错误代码: FqAd5JEW
-
创建时间
16年5月21日
-
最后回复
16年5月24日
-
15
回复
-
2.2K
浏览
-
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);
主题 | 分类 | 回复 | 浏览 | 活动 |
---|---|---|---|---|
我只想说一句,新建的列的默认值是摆设么 | SDK / API | 4 | 4.2K | 16-07-21 |
JavaSDK AVFile 如何同时获得上传进度和上传信息? | SDK / API | 2 | 1.3K | 19-08-12 |
AVQuery.getInBackground方法时include无效 | SDK / API | 6 | 1.3K | 20-01-15 |
查询的会话里lastMessage 信息不全 | SDK / API | 1 | 834 | 16-06-16 |
最新的iOS怎么集成leancloud | SDK / API | 1 | 880 | 16-08-9 |