3

我正在保存一个我称之为动作的对象 Parse.com

我收到以下错误:

111 invalid type for key bookPointer, expected *Book, but got string

我使用的代码是:

 action.set("bookPointer", "SPecEgZUhL");

 action.save(null, {
                success: function (data) {
                    // The object was saved successfully.
                    callback(true);
                },
                error: function (data,error) {
                    // The save failed.
                    // error is a Parse.Error with an error code and description.
                    console.log("Error: " + error.code + " " + error.message);
                    callback(false);
                }
            });

我的书数据看起来像:

在此处输入图像描述

如何获得指向我的书的指针,我的 *book 在 javascript 中?

对我来说,它应该与 objectId 一起正常工作。

谢谢!

4

2 回答 2

8

一个更简单/更强类型的方法是:

// Assumes var Book = Parse.Object.extend("Book");
action.set("bookPointer", new Book({id: "SPecEgZUhL"}));

在列的类型之后命名列通常也不是常规的(例如“book”而不是“bookPointer”)

于 2013-05-10T22:33:48.310 回答
7

正如我在对该问题的评论中所说,您可以在您的情况下使用这样的 JS 对象指定一个指针:

{
  __type: "Pointer",
  className: "Book",
  objectId: "SPecEgZUhL"
}

最终代码变为:

action.set("bookPointer", { __type: "Pointer", className: "Book", objectId: "SPecEgZUhL" });

在本页给出的示例中找到它 - https://www.parse.com/docs/rest

于 2013-05-09T17:32:13.887 回答