【发布时间】:2015-10-10 22:49:13
【问题描述】:
我正在尝试从名为Book 的表中获取数据。在Book 内部有一个Pointer<ParseUser>,它保存着一个用户的指针。 ParseUser 有另一个名为 Pais 的指针(在西班牙语中是 Country 的意思)。所以我想从任何Book 获取每一个信息:
var query = new Parse.Query("Book");
query.include("user");
query.include("user.pais");
query.find({
success: function(books) {
response.success(books);
},
error: function(error) {
response.error({'resp': error.code, 'message': error.message});
}
});
我没有得到对象,只有指针:
为什么?我知道当我在 iOS 或 Android 中使用 include(String key) 或 includeKey: NSString* key 调用它时它可以正常工作。
为什么它不能与 Javascript 一起使用??
提前谢谢你。
问候。
拉斐尔。
编辑:
哦,我忘了...我试过了:
query.include(["user"]);
和
query.include(["user", "user.pais"]);
我见过一些开发者使用它的例子。
第二次编辑:
我用的最后一个是fetch like:
Parse.Object.fetchAll(books, {
success: function(list) {
response.success(list);
},
error: function(error2) {
response.error({'resp': error2.code, 'message': error2.message});
},
});
但也没有用。
这开始吓到我了。
我们的解决方法: 我们尝试做的解决方法是分别获取所有内容,然后一起返回给用户。这不是一个好的做法,因为将来对类进行一点更改会破坏整个功能。
这是 SDK 中的错误吗?
【问题讨论】:
-
IMO 包含可能不会以您希望的方式传递。如果指针在作为查询的父或目标的表中为 ALL,则包含在 list[pointers] 中将起作用
-
那么如何像在 Android SDK 或 iOS SDK 中一样获取它们?
-
只是一个想法,因为我最近遇到了与您的非常相似的 CloudCode 问题。您使用的是什么版本的 JavaScript SDK?我通过将版本更改回 1.4.2 解决了my problem。在你的情况下,这只是在黑暗中拍摄,但它可能会奏效。
-
嗨@EricSchanet,它绝对适用于 Parse JS SDK 1.4.2 而非最新版本。请您将您的评论转换为答案,我会给您赏金吗?非常感谢您解决这个问题。
标签: javascript parse-platform parse-cloud-code