问题描述
我们目前正在进行一个研究项目,我们决定在后端使用 HotChocolate 作为 GraphQL-Server。其中一个想法是在前端已知的给定点周围的特定区域内找到一些东西。经过多次尝试,我们最终在数据对象上创建了一个方法并返回结果,但我们无法弄清楚如何过滤结果。
有没有人有关于如何过滤结果的建议,或者是否有另一种/更好的方法来实现目标?我们当前的实现看起来像这样([UsePaging]
、[UseFiltering]
和 [UseSorting]
在查询中设置):
后端数据类型(摘录)
pulbic class Product
{
public int ProductId { get; set; }
public decimal price { get; set;]
// ... More propteries
public double Distance(double lon,double lat)
{
// ...
}
}
前端的 GraphQL 查询
query {
products (where: {price: {lte: 40}},order: {price:DESC}) {
totalCount
nodes {
productId
price
distance(lat:9,lon:47)
}
}
}
前端的 GraphQL 查询结果(如预期)
{
"data": {
"productList": {
"totalCount": 40,"nodes": [
{
"productId": 40,"price": 40,"distance": 82.79875282093245
},...
]
}
}
}
前端的 GraphQL 查询(不起作用:告诉“场距不是由类型“产品”定义的)
query {
products (where: {price: {lte: 40},distance: {lte:50}},order: {price:DESC}) {
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)