Comments (2)
I just ran into this limitation as well. qs
by default will not parse an array with more than 20 items, it will convert it to an object with numbered indices as keys instead. The query validator rejects this construction and we get a 400 Bad Request with data along these lines:
{
"instancePath": "/id/$in",
"schemaPath": "#/properties/id/anyOf/1/properties/%24in/type",
"keyword": "type",
"params": {
"type": "array"
},
"message": "must be array"
}
koa-qs
supports passing options to qs.parse()
since 3.0.0. It would be helpful if @feathersjs/koa
either passed { arrayLimit: 0 }
into koa-qs or allowed the user to pass in an options object.
Maybe there's another possibility where a koa app that's already had koa-qs applied to it can be passed as the second arg to the koa()
fn from @feathersjs/koa
?
from feathers.
fwiw we are working around this with a global hook along these lines:
import { traverse } from 'feathers-hooks-common'
import { isObject } from 'lodash'
const METHODS = ['$in', '$nin', '$ne', '$or', '$and']
export default function queryArrays () {
return traverse(function (node) {
if (METHODS.includes(this.key) && isObject(node) && isArrayable(node)) {
this.update(Object.values(node))
}
},
ctx => ctx.params.query)
}
function isArrayable (obj) {
return Object.entries(obj).every(([key, value]) => !isNaN(+key) && typeof value === 'string')
}
from feathers.
Related Issues (20)
- "Creating an app" instructions fail without significant further undocumented action (Win11)
- "See API docs for all 180+ supported oAuth providers" is not clear enough
- feathers generate authentication fails on typescript projects (Win11) HOT 2
- Minor issue with authentication generator if service name is not "user"
- Schema resolving to unknown or any with queryProperty HOT 4
- $select should not be limited by query properties in _find
- AuthenticationService getPayload method should use payload of AuthenticationResult HOT 1
- Custom Service Routes beyond CRUD (without using X-Service-Method)
- virtual properties have inconsistent behavior with query
- How can I query postgres jsonb column with knex adapter? HOT 1
- Using API key authenticaion as per Feathers documentation causes TS compilation errors HOT 1
- [Feature Request] Add an option to use Jest instead of Mocha as the testing framework HOT 3
- Wrong value for context.method in create hook HOT 3
- Service adapter `operators` property marked as deprecated while still needed to use MongoDB specific operators starting with `$` HOT 1
- Re-initialize a service with children.
- Knex migration:make format not compatible with Feathers ES module settings HOT 1
- [Question] How to unit test when using @feathersjs/mongodb?
- @feathersjs/schema resolver throws unhelpful error
- Skip Hooks when accessing services HOT 4
- Tips on deploying to production cloud services? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from feathers.