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

时间:2018-07-05 20:42:50

标签: javascript parse-platform parse-server

我有解析服务器

sheet2

解析服务器有2个类(用户和EmpList),在EmpList中有一个指针正确指向当前提交的雇员的用户。返回的数据还包括该指针(其名称为“ relation”),我可以看到用户名以这种方式作为对象存在

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
      },

但是我无法提取关联对象中的用户名。 请通过data [0] .relation.username或data [0] .relation()。username

帮助我

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以做两件事。最简单的方法是使用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
            }
        });