Javascript with Parse: 错误 111 需要指针但得到了 [object Object]

Javascript with Parse: Error 111 expected Pointer but got [object Object]

所以我在 Parse Server 中遇到了指针问题。 我有一个 Table,用指针连接另外两个 Table。

示例:

var table1id  //ID of the first table
var table2id  //ID of the second Table
var Example = Parse.Object.extend('example_table');

function add_newExample(table1id, table2id) {
    var example = new Example();
    example.set('table1_id', table1id);
    example.set('table2_id', table2id);
    example.save(null, {
        success: function () {
            console.log('New object created');
         },
        error: function (error) {
            console.log('Failed to create new object');
        }
    })
}

错误:

code: 111 error: "schema mismatch for example_table.table1id; expected Pointer but got [object Object]"

我看到的第一个问题是你打错了字。 var 示例 = new Exmaple();应该是 var example = new Example();

上面的代码并不清楚 table1_id table2_id 的字段应该是什么,或者您将它们设置为什么。

如果您查看仪表板中的 example_table,列表明它们是什么类型?

但我假设它们应该是指向其他表中行的指针(基于您收到的错误),在这种情况下,下面的内容应该适合您。

const Example = Parse.Object.extend('example_table');

const Table1 = Parse.Object.extend('table1');
const table1Ptr = new Table1().set('objectId', '1');

const Table2 = Parse.Object.extend('table2');
const table2Ptr = new Table2().set('objectId', '6');

const addNewExample = function addNewExample(table1Ptr, table2Ptr) {
  // return the promise that results from the save
  return new Example() // just chaining everything to be terse...
    .set('table1_id', table1Ptr)
    .set('table2_id', table2Ptr)
    .save(null, { useMasterKey: true }) // may not be necessary, depending
    //
    // don't use these old style handlers, use promise syntax
    // which I substitute for the following below.
    // success: function () {
    //    console.log('New object created');
    // },
    // error: function (error) {
    //    console.log('Failed to create new object');
    // }
    .then(
      // fancy fat arrow notation for functions like the cool kids...
      o => console.log('new object: ' + o.id + ' created'),  
      e => console.error('uh oh: ' + e.message)
    );
};

addNewExample(table1Ptr, table2Ptr);