gpt4 book ai didi

javascript - 如何在云中复制 Parse 对象?

转载 作者:行者123 更新时间:2023-12-03 07:42:40 26 4
gpt4 key购买 nike

我想要一个现有解析对象的副本,然后进行一些编辑并将其另存为新的解析对象,而不是手动设置每个字段。

这是我的云功能:

Parse.Cloud.define("SharePost", function(request, response) {
var ShareUserID=request.params.ShareUserID;
var UserID=request.params.UserID;
var PostID=request.params.PostID;
Parse.Cloud.useMasterKey();
var user = new Parse.User({id:UserID});
var shareuser = new Parse.User({id:ShareUserID});
var query = new Parse.Query("Feed");
query.get(PostID, {
success: function(post) {
var Post = Parse.Object.extend("Feed");
var newpost = new Post()
// here I would like to get the same object and make some edits o, it
post.save( {
success:function () {
response.success("Success");
},
error:function (pointAward, error) {
response.success(error);
}
}
);
},
error: function(error) {
console.error("Got an error " + error.code + " : " + error.message);
}
});
});

最佳答案

可能有一种更漂亮的方法,但一种无需依赖任何微妙之处就能正常工作的方法是:

function pfClone(fromObject, toObject, keys) {
var _ = require('underscore');
_.each(keys, function(key) {
toObject.set(key, fromObject.get(key));
});
}

这样调用它:

// after fetching a post called "post"
var Post = Parse.Object.extend("Feed");
var newpost = new Post();
var keys = ["title", "author" /* ...the keys you want to copy unchanged */ ];
pfClone(post, newpost, keys);
// change other properties of newpost here

更漂亮的版本是对传递的对象进行内省(introspection),然后构建并初始化克隆。这些想法的一个不雅之处是(上次我检查过)PFObject 不允许您内省(introspection)键,因此您只能传递一组键。

关于javascript - 如何在云中复制 Parse 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35345989/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com