我的Parse.com应用程序中有以下多对多关系:
比特↔消息
以下内容从“比特”中提取相关消息。对象:
const query = new Parse.Query('Bit');
query.include('participants');
query.include('user');
query.equalTo('objectId', req.query.bitId);
const promise = query.first().then(function(bit) {
return new Promise(function(resolve) {
const relation = bit.relation('messages');
relation.query().find().then(function(messages) {
resolve(messages);
});
});
});
*注意:消息是关系列类型不是指针类型。
messages
内的结果是一个数组,其中包含该位的所有相关消息。每条消息都包含一个指向名为sender
的用户的指针。是否可以在查询结果中包含此User对象?如果我可以在关系查询上使用include()
方法,那就太好了:
relation.include('sender');
答案 0 :(得分:1)
您可以像对待任何其他查询一样限定关系的查询。 (另外,你在OP中有一些多余的承诺代码。我把它清理了一点,但答案的重点在于注释行......)
var query = new Parse.Query('Bit');
query.include('participants');
query.include('user');
query.equalTo('objectId', req.query.bitId);
var promise = query.first().then(function(bit) {
var relationalQuery = bit.relation('messages').query();
relationalQuery.include("sender"); // <-- the point
return relationalQuery().find();
}).then(function(messages) {
return resolve(messages);
});