在云代码处修改数据后检索数据
Retrieving data after modifying data at cloud code
我正在尝试获取 Parse 服务器的日期和时间,但我知道唯一的方法是创建或更新一个对象,然后检索 updatedAt 的值。
我的class
//这个class中只有一个data/object
Class Test{
int times
};
我的云码
增量值"times"是通过getUpdatedAt()获取当前服务器日期和时间;
Parse.Cloud.define("updateTimes", function(request, response) {
var test = Parse.Object.extend("Test");
var query = new Parse.Query(test);
query.first({
success: function(results) {
results.increment("times");
results.save();
response.success("success updated");
},
error: function() {
response.error("test lookup failed");
}
});
});
我在 android 工作室拜访
//Call updateTimes function at cloud code
ParseCloud.callFunctionInBackground("updateTimes", new HashMap<String, Object>(), new FunctionCallback<String>() {
public void done(String result, ParseException e) {
if (e == null) { //success }
}
});
//Get date and time from server
ParseQuery<ParseObject> query = ParseQuery.getQuery("Test");
query.getInBackground("i6hmOEItvI", new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
// success
serverDate = object.getUpdatedAt();
Format formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
date = formatter.format(serverDate);
Log.d("ServerDate",date);
}
});
我的问题是从 objectId 检索到的 serverDate 不正确。检索到的日期始终是较旧的日期。但是,数据库中的 updateAt 字段已成功更新。
我在调用查询 object.getUpdatedAt(); 之前调用了 ParseCloud.callFunctionInBackground。
有人知道为什么我得到的日期不是最新的吗?
仅仅为了查看写入的日期戳而创建或触摸数据似乎是一种浪费。为什么不直接return一个日期:
Parse.Cloud.define("serverDateTime", function(request, response) {
response.success({dateTime: new Date()});
});
我正在尝试获取 Parse 服务器的日期和时间,但我知道唯一的方法是创建或更新一个对象,然后检索 updatedAt 的值。
我的class
//这个class中只有一个data/object
Class Test{
int times
};
我的云码
增量值"times"是通过getUpdatedAt()获取当前服务器日期和时间;
Parse.Cloud.define("updateTimes", function(request, response) {
var test = Parse.Object.extend("Test");
var query = new Parse.Query(test);
query.first({
success: function(results) {
results.increment("times");
results.save();
response.success("success updated");
},
error: function() {
response.error("test lookup failed");
}
});
});
我在 android 工作室拜访
//Call updateTimes function at cloud code
ParseCloud.callFunctionInBackground("updateTimes", new HashMap<String, Object>(), new FunctionCallback<String>() {
public void done(String result, ParseException e) {
if (e == null) { //success }
}
});
//Get date and time from server
ParseQuery<ParseObject> query = ParseQuery.getQuery("Test");
query.getInBackground("i6hmOEItvI", new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
// success
serverDate = object.getUpdatedAt();
Format formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
date = formatter.format(serverDate);
Log.d("ServerDate",date);
}
});
我的问题是从 objectId 检索到的 serverDate 不正确。检索到的日期始终是较旧的日期。但是,数据库中的 updateAt 字段已成功更新。 我在调用查询 object.getUpdatedAt(); 之前调用了 ParseCloud.callFunctionInBackground。 有人知道为什么我得到的日期不是最新的吗?
仅仅为了查看写入的日期戳而创建或触摸数据似乎是一种浪费。为什么不直接return一个日期:
Parse.Cloud.define("serverDateTime", function(request, response) {
response.success({dateTime: new Date()});
});