Разобрать серверный указатель JavaScript извлечения данных - PullRequest
0 голосов
/ 05 июля 2018

У меня есть сервер синтаксического анализа, к которому у меня есть этот запрос на

const empList = Parse.Object.extend("EmpList");
const query = new Parse.Query(empList);
query.equalTo("relation", Parse.User.current());

query.find({
      success: (results) => {
        // results.map((each)=>this.data = each.id)
        this.data = results
      },

Сервер разбора имеет 2 класса (users и EmpList), в EmpList есть указатель, который правильно указывает на текущего пользователя, отправившего сотрудника. Возвращенные данные также включают указатель (который имеет название «отношение»), и я могу увидеть, что имя пользователя существует как объект таким образом

Array [
     Object {
       "createdAt"  "2018-07-05T20 17 45.173Z",
       "name"  "1the latter",
       "objectId"  "D2kThKcg9z",
       "phone"  "111",
       "relation"  Object {
         "ACL"  Object {
           "*"  Object {
             "read"  true,
           },
           "H2rQJxNyTD"  Object {
             "read"  true,
             "write"  true,
           },
         },
         "__type"  "Object",
         "className"  "_User",
         "createdAt"  "2018-07-05T18 43 40.536Z",
         "objectId"  "H2rQJxNyTD",
         "password"  undefined,
         "sessionToken"  "r c45063a034dd81d646bef51ae2055c85",
         "updatedAt"  "2018-07-05T20 17 35.976Z",
         "username"  "1",
       },
       "shift"  "tue",
       "updatedAt"  "2018-07-05T20 22 11.158Z",
     },
   ]

Пока я не могу извлечь имя пользователя в объекте отношений. пожалуйста, помогите мне сделать это с помощью data [0] .relation.username или data [0] .relation (). username

Ответы [ 2 ]

0 голосов
/ 09 июля 2018

Есть две вещи, которые вы можете сделать. Самое простое - быстро выбрать связанный объект как часть запроса, используя include() ...

const query = new Parse.Query(empList);
query.equalTo("relation", Parse.User.current());
query.include("relation");

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

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

const query = new Parse.Query(empList);
query.equalTo("relation", Parse.User.current());

query.find({
    success: results => {
        // for one or some of the results...
        let submittedByUserRelation = user.relation("relation");
        submittedByUserRelation.query().find({
            success: user => {
                // user.username will be the username
            }
        });
0 голосов
/ 07 июля 2018

Проверьте функцию query () для отношения, которое вы можете использовать для получения всего объекта в отношении.

...