我对Parse很新.
我使用此代码设置了数据库:
var Class = Parse.Object.extend("Class");
var Team = Parse.Object.extend("Team");
var Student = Parse.Object.extend("Student");
var newClass = new Class();
newClass.set("name", className);
newClass.set("code", classCode);
newClass.set("creator", currentUser);
var classACL = new Parse.ACL(currentUser);
classACL.setPublicReadAccess(true);
newClass.setACL(classACL);
newClass.save();
for (var i = 0; i < teamNames.length; i++) {
var team = new Team();
team.set("name", teamNames[i]);
var teamACL = new Parse.ACL(currentUser);
teamACL.setPublicReadAccess(true);
team.setACL(teamACL);
team.save();
for (var j = 0; j < studentNames[i].length; j++) {
if (studentNames[i][j]) {
var student = new Student();
student.set("name", studentNames[i][j]);
student.set("parent", team); …
Run Code Online (Sandbox Code Playgroud) 我们在nodejs中编写服务器代码并使用Parse javascript sdk.我们经常需要获取或更新各种Parse对象.例如,使用用户名"Example"获取用户.
function fetchUser(username)
{
var User = Parse.Object.extend("User");
var query = new Parse.Query("User");
query.equalTo("username",username);
query.first({
success: function(results) {
console.log("Successfully retrieved " + results.length + " scores.");
return results;
},
error: function(error) {
console.log("Error: " + error.code + " " + error.message);
}
});
}
Run Code Online (Sandbox Code Playgroud)
其他函数可能会调用此函数:
function test()
{
var user = fetchUser("example");
console.log(user); // would often print undefined
return user;
}
function top()
{
// some code
var user = test();
//some code
}
// and the function …
Run Code Online (Sandbox Code Playgroud) javascript node.js promise parse-platform parse-javascript-sdk
我需要在保存之前检查原始对象以查看更改的值。目前我有这个:
Parse.Cloud.beforeSave("Stats", function(request, response) {
if (!request.object.isNew()){
var query = new Parse.Query("Stats");
query.get(request.object.id, {
success: function(oldObject) {
alert('OLD:' + oldObject.get("Score") + "new:" + request.object.get("Score"));
/*Do My Stuff Here*/
response.success();
},
error: function(oldObject, error) {
response.error(error.message);
}
});
}else{
response.success();
}
});
Run Code Online (Sandbox Code Playgroud)
问题是它oldObject
等于request.object
。
警报结果也是:OLD:10 new:10
,但真正的旧分数是5
。另外根据之前的保存输入日志,原来是真的5
。
知道我做错了什么吗?
编辑:这是之前的保存日志。
before_save triggered for Stats as master:
Input: {"original":{"achievements":[],"Score":"100"updatedAt":"2015-11-02T10:09:24.170Z"},"update":{"Score":"110"}}
Result: Update changed to {"Score":"110"}
Run Code Online (Sandbox Code Playgroud)
Edit2:有没有办法获得脏值?
console.log("dirty: "+ request.object.dirty("score"));
I2015-11-03T14:23:12.198Z]dirty: true
Run Code Online (Sandbox Code Playgroud) 是否可以仅在通过检索的对象上使用.select
(JS)/ selectKeys
(Android).include()
?
比如A类有一个指向B类的指针,当我查询A类的时候,我想要的是A类的所有内容和B类的几个选定的字段,这可能吗?
parse-platform parse-android-sdk parse-javascript-sdk parse-server back4app