Meteor grapher-react查询没有得到正确的结果



我使用grapher-react (https://github.com/cult-of-coders/grapher-react)的withQuery来获取数据。

查询如下

const userData = {
_id: 1,
profile: {
firstName: 1,
lastName: 1,
phoneNumber: 1
},
shortName: 1,
cookies: 1,
}
const tutorUserData = {
_id: 1,
profile: {
headline: 1,
hourlyRate: 1,
firstName: 1,
lastName: 1,
croppedPicture: 1,
tag: 1,
currency: 1,
subjects: 1,
phoneNumber: 1
},
shortName: 1,
cookies: 1,
}
export default Packages.createQuery('packages', {
ownerId: 1,
owner: userData,
creatorId: 1,
creator: tutorUserData,
cost: 1,
createdAt: 1,
expiryDate: 1,
currency: 1,
values: 1,
$filters: {
expiryDate: { $gt: new Date() },
'values.remainingMinutes': { $gt: 0 }
},
$options: {
sort: {
createdAt: -1
}
},
$filter({ filters, options, params }) {
if (params.filters) {
Object.keys(params.filters).forEach(key => {
filters[key] = params.filters[key]
})    
}
if (params.options) {
Object.keys(params.options).forEach(key => {
options[key] = params.options[key]
})
}
}
})

withQuery:

代码
withQuery(
({ otherUser, user, params }) => {
return query.clone({
...params,
filters: {
$and: [{ ownerId: user._id }, { creatorId: otherUser._id }]
},
options: {
limit: 3,
sort: { 'values.pending': -1, createdAt: -1 }
}
})
},
{ reactive: true }
)(Component)

和creator data的结果:结果

我确信创建者的配置文件有许多字段,而不是数据库中的结果。

有人知道我为什么会得到那样的结果吗?

您是将用户的配置文件反规范化到packages文档中,还是使用grapher的ownercreator字段的集合链接?

由于这是一个响应式查询,您是否使用了有作用域的出版物?如果没有,则可能您已经有其他出版物将这些文档放置在客户端的minimongo中。在这种情况下,如果由于某种原因,服务器无法匹配和发布预期的文档,客户机上的绘图器查询执行仍然可以从其他发布(可能具有不同的已发布字段集)中找到并以minimongo格式返回文档。参见类似的问题。

除此之外,我应该指出Meteor的文档通常建议您不要使用user.profile。

最新更新