0

我对 Parse 的云托管平台有一个奇怪的问题。我有一条路线可以显示系统中所有“提供者”的信息。Provider 有一列是指向 User 对象的指针。这是一个特殊的 Parse.User 对象。

我的目标是获取所有提供者和提供者指向的用户信息。看起来很简单,使用“include”方法进行查询。

路由代码如下所示:

exports.index = function(req, res) {
  var providersQuery = new Parse.Query('Provider');
  providersQuery.include('user');
  providersQuery.find().then(function(providers) {
    console.log(providers); //for debugging
    res.render('providers/index', { providers: providers });
  });
};

这就是事情变得奇怪的地方。上面的日志语句显示了包含所有用户数据的所有提供者:

[{ "address": "123 Main St.", "city": "Anytown", "zip": "77777",
"user":
  { "email": "john.smith@example.com", "firstName": "John", "lastName": "Smith", "objectId": "abcd123", "__type": "Object", "className": "_User" }
}]

请注意,__type 是“Object”。但是,在我看来,用户对象数据被截断,仅显示 __type、className 和 objectId 字段:

//index.ejs
<%- JSON.stringify(providers) %>

结果如下:

[{ "address": "123 Main St.", "city": "Anytown", "zip": "77777",
"user":
  { "objectId": "abcd123", "__type": "Pointer", "className": "_User" }
}]

所有关于用户的信息都不见了!!__type 现在是“指针”。这到底是怎么回事?

4

1 回答 1

0

显然,在 Parse 对象上调用 JSON.stringify 会将“包含”对象返回到它们的“指针”自身。我确信这有一些很好的理由,但这肯定是不方便的。

于 2014-12-30T17:01:53.793 回答