解析服务器 javascript 指针数据提取

Parse server javascript pointer data extraction

我有解析服务器,我在

上有这个查询
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中有一个指针正确指向当前用户提交的employee.The返回的数据还包括指针(其中有一个name "relation" ) 我可以看到用户名以这种方式作为对象存在

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

帮助我这样做

检查关系上的 query() 函数,您可以使用它来获取关系中的所有对象。

您可以做两件事。最简单的方法是使用 include() ...

急切地获取相关对象作为查询的一部分
const query = new Parse.Query(empList);
query.equalTo("relation", Parse.User.current());
query.include("relation");

(顺便说一句,"relation" 不是那个专栏的好名字。更好的选择是与它的含义相关的东西,比如 submittedByUser。称它为关系就像给你的贵宾犬命名 "Poodle").

使用 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
            }
        });