FeathersJS REST 多查询字符串

FeathersJS REST Multiple Query String

使用 FeathersJs REST 客户端 - 如何查询具有多个值的单个字段?

例如。如果我有 Books 服务,并且我想检索 1990、1991 和 1992 年写的所有书籍。我假设我会调用:

/books?year[]=1990&year[]=1991&year[]=1992

虽然这不起作用。

查看通用 database adapter querying syntax 的文档。正确的查询方式是:

year: {
  $in: [ 1990, 1991, 1992 ]
}

对应的查询是

/books?year[$in]=1990&year[$in]=1991&year[$in]=1992

解析此查询字符串需要使用扩展查询解析器 qs,您可以通过

启用它
app.set('query parser', 'extended');

由于查询是一个字符串,如果您需要年份的实际数值,您可能还必须将其转换为 before 挂钩中的查询(尽管大多数数据库通常都允许两者)。