2014-05-20 25 views
10

Ho iniziato a utilizzare il framework sails.js alcuni mesi fa perché ho bisogno dell'API riposante.Numero di risultati della funzione di ricerca in sails.js restful api (nelle versioni più recenti)

Nella prima versione semplice "http://domain.com:1337/mymodel" ha prodotto tutte set di dati di MySQL database collegato, tuttavia, dopo un aggiornamento di V 0.10.xx restituisce solo i primi 30 risultati.

Ho cercato il changelog sails.js, la documentazione e vari esempi sul Web e ho provato diverse idee ma non riesco a capire come forzare sails.js a restituire ** tutti * i risultati di nuovo.

Qualcuno ha una soluzione per questo?

risposta

12

Utilizzare sails.config.blueprints.defaultLimit per i limiti di record generali. Questo serve anche come limite predefinito per le associazioni popolate. Al momento non è tecnicamente possibile specificare "nessun limite" per i progetti, ma è possibile impostare il limite sul valore massimo numerico purché non si abbiano più di 9 quadrilioni di record :)

config/blueprints .js

defaultLimit: Number.MAX_VALUE // Set to highest possible value 

Usa populate_limit nelle opzioni di configurazione di percorso per impostare il limite popolano su una base per-route.

config/routes.js

"GET /user": {blueprint: populate_limit: 10} 

Usa populate_[alias]_limit nel percorso opzioni di configurazione per impostare il limite di popolamento per una particolare associazione su una base per-percorso (ad esempio populate_pets_limit: 10)

config /routes.js

"GET /user": {blueprint: 'find', limit: 20, populate_limit: 10, populate_pets_limit: 5} 

I' Assicuriamoci che tutto questo venga aggiunto ai documenti!

+2

In Sails 0.10.5 defaultLimit: Number.MAX_VALUE NON funziona. In realtà costringe ogni find() a restituire solo una riga. Ho anche cercato i documenti github sails per "Number.MAX_VALUE" e non ho trovato alcun riferimento. Hai aggiornato la documentazione? – arcseldon

+0

Inoltre non funziona per Sails 0.12.3 – CJBrew

7

defaultLimit: -1 riporta tutte le righe

+0

Ho provato questa risposta con Sails.js 0.10.5 e funziona !! – mzalazar

1

se avete bisogno di cange popolano unico limite, è possibile utilizzare populate_limit in sails.config.blueprints

// defaultLimit: 30 

populate_limit:999 //default value for populate limit

Problemi correlati