Android:在Parse中使用Parse数据库以获得IncrementKey列
我正在开发一个Android应用程序,正在使用Parse Database,并希望添加一个Android:在Parse中使用Parse数据库以获得IncrementKey列,android,database,parse-platform,cloud,auto-increment,Android,Database,Parse Platform,Cloud,Auto Increment,我正在开发一个Android应用程序,正在使用Parse Database,并希望添加一个IncrementKey函数,以便在向数据库添加新图像时,图像id列将自身增加1 参考: 问题: 然而,谷歌搜索了很长一段时间,没有明确的例子来说明如何让它工作。。。它涉及到解析时的云代码。有没有关于如何做到这一点的提示 谢谢 为图像创建beforeSave触发器(如果相关,请替换,我假设这是您的类,它保存图像和计数器列-这些是同一对象的属性) 文件:/cloud\u code/cloud/main.js或
IncrementKey
函数,以便在向数据库添加新图像时,图像id列将自身增加1
参考:
问题:
然而,谷歌搜索了很长一段时间,没有明确的例子来说明如何让它工作。。。它涉及到解析时的云代码。有没有关于如何做到这一点的提示
谢谢 为
图像
创建beforeSave触发器(如果相关,请替换,我假设这是您的类,它保存图像和计数器列-这些是同一对象的属性)
文件:/cloud\u code/cloud/main.js
或文件路径需要
d by main.js
资源
- 云代码指南:
- 保存修改前的云代码:
- 检索对象:
- 增量(更新现有字段):
- 另请参见(另一种方式)
- 免责声明:以上代码未经测试,但基于工作函数
注意:在
保存前处理程序中使用isNew()
,在保存后处理程序中使用已存在的。在解析云代码版本1.6.*中存在一个报告的错误
——请参阅云代码易于实现。问题是什么?我完全不知道…你有一些例子吗?他们有一个指南可以帮助你。它基本上是JavaScript代码。你可以从中获得大量教程。请注意,解析对象具有唯一的id,id为objectId
或image.id
。云代码函数在调用response.success
时保存,普通控制器应使用imageCounts.save()
您可以使用imageCounts.increment(“image\u count”)
Parse.Cloud.beforeSave("Image", function(request, response) {
//check if this is a new or existing Image
if (!request.object.isNew()) {
//image exists, save as normal
response.success();
} else {
//find the last image saved
var checkImage = Parse.Object.extend("Image");
var imagesQuery = new Parse.Query(checkImage);
imagesQuery.select("image_id"); //save memory by only requesting image_id
imagesQuery.descending("image_id"); //sort, make sure image_id is a Number
imagesQuery.first().then(
function(lastImage) {
//increase the id by 1
var newId = lastImage.get("image_id") + 1;
//save the current object with the new id
request.object.set("image_id", newId);
response.success(); //this saves your request.object
},
function (error)
response.error(error);
}
);
}
});