2016-10-18 2 views
1

Итак, у меня возникли проблемы с указателем в Parse Server. У меня есть таблица, которая соединяет две другие таблицы с указателями.Javascript с Parse: Ошибка 111 ожидаемого указателя, но получил [object Object]

Пример:

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]"

ответ

1

Из кода выше не видно, какие поля для table1_id table2_id должны быть или что у вас есть.

Если вы посмотрите на примерную таблицу на панели управления, какой тип столбцов говорит?

Но я предполагаю, что они должны быть указателями на строки в других таблицах (на основе ошибки, которую вы получаете), и в этом случае нижеследующее должно работать на вас.

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); 
0

Первый вопрос я вижу, у вас есть опечатка. var example = new Exmaple(); должен быть var example = new Example();

+0

О, черт возьми, это не проблема. Это происходит, когда я вставляю его здесь. –