Recherchez, triez, filtrez, limitez et parcourez un tableau d'objets dans le style Mongo.
Dans NodeJS :
npm install faltu --save
Pour d'autres projets, téléchargez simplement et incluez le fichier dans vos pages :
< script src =" faltu.min.js " > </ script >
Toutes les données transmises devraient être un tableau ou des objets.
par exemple :
[array, array, ..., array]
Toutes les données renvoyées sont également du même type.
Par exemple:
var data = [ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ] ;
Passez le tableau au constructeur :
Dans NodeJS :
var Faltu = require ( 'faltu' ) ;
var faltuData = new Faltu ( data ) ;
Dans d'autres environnements :
var faltuData = new Faltu ( data ) ;
Vous pouvez utiliser la méthode find
pour effectuer une recherche. Recherchez tous les gars de 18 ans :
var newData = new Faltu ( data ) . find ( {
age : 18
} ) . get ( ) ;
newData
ressemblerait à quelque chose comme :
[ {
name : "Doe" ,
age : 18
} ]
Vous devez toujours appeler get
à la fin si vous souhaitez récupérer un tableau. Ou cela renverra simplement l'instance faltu
.
Recherchez tous les gars âgés de 18 ans ou plus :
var newData = new Faltu ( data ) . find ( {
age : {
$gte : 18 // $gte is similar to >= (greater than or equal to)
}
} ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ]
Les autres opérateurs de comparaison pris en charge dans find
sont :
$lt
: <$lte
: <=$gt
: >$ne
: !=Recherchez tous les gars âgés de 18 ou 16 ans :
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} ]
Passer null
, un objet vide {}
ou rien à find
signifie ne pas effectuer de recherche. find
accepte les options comme deuxième argument.
par exemple :
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} , {
sort : {
age : - 1
}
} ) . get ( ) ;
Renvoie les données par ordre décroissant d' age
. Outre sort
vous pouvez également transmettre :
skip
limit
unique
Utilisez sort
pour trier le résultat par ordre décroissant par age
:
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} ) . sort ( {
age : - 1 // 1 = ASC, -1 = DESC
} ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} , {
name : "John" ,
age : 16
} ]
Récupérons seulement 1 objet :
var newData = new Faltu ( data ) . find ( ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} ]
Passons le 1er objet :
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ]
Passons le 1er objet :
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} ]
Vous pouvez obtenir un résultat renvoyé unique par une clé.
var newData = new Faltu ( data ) . find ( ) . unique ( 'age' ) . get ( ) ;
Vous pouvez également effectuer vous-même un filtrage jQuery
-esque. Appelez la méthode filter
, transmettez une function
.
var newData = new Faltu ( data ) . find ( ) . filter ( function ( person ) {
return person . age == 16 ; // return true if you want to keep the object
} ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} ]
each
parcourt tous les enregistrements renvoyés.
var newData = new Faltu ( data ) . find ( null ) . each ( function ( person , index ) {
console . log ( 'User name:' , person . name ) ;
} ) ;