解析服务器 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
}
});
我有解析服务器,我在
上有这个查询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
}
});