我在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"。 但是,在我看来,User对象数据被截断,只显示__type,className和objectId字段:
//index.ejs
<%- JSON.stringify(providers) %>
结果如下:
[{ "address": "123 Main St.", "city": "Anytown", "zip": "77777",
"user":
{ "objectId": "abcd123", "__type": "Pointer", "className": "_User" }
}]
关于用户的所有信息都消失了!! __type现在是&#34; Pointer&#34;。到底是怎么回事?
答案 0 :(得分:0)
显然在Parse对象上调用JSON.stringify会将“包含”对象返回给它们的“指针”自身。我确信这有一个很好的理由,但这肯定不方便。