Suchen, sortieren, filtern, begrenzen und iterieren Sie über eine Reihe von Objekten im Mongo-Stil.
In NodeJS :
npm install faltu --save
Für andere Projekte laden Sie einfach die Datei herunter und fügen sie in Ihre Seiten ein:
< script src =" faltu.min.js " > </ script >
Es wird erwartet, dass alle übergebenen Daten ein Array oder Objekte sind.
z.B:
[array, array, ..., array]
Alle zurückgegebenen Daten sind ebenfalls vom gleichen Typ.
Zum Beispiel:
var data = [ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ] ;
Übergeben Sie das Array an den Konstruktor:
In NodeJS :
var Faltu = require ( 'faltu' ) ;
var faltuData = new Faltu ( data ) ;
In anderen Umgebungen:
var faltuData = new Faltu ( data ) ;
Sie können die find
zum Suchen verwenden. Suche nach allen Jungs, die 18 Jahre alt sind:
var newData = new Faltu ( data ) . find ( {
age : 18
} ) . get ( ) ;
newData
würde etwa so aussehen:
[ {
name : "Doe" ,
age : 18
} ]
Sie sollten get
immer am Ende aufrufen, wenn Sie ein Array zurückhaben möchten. Oder es wird einfach die faltu
-Instanz zurückgegeben.
Suche nach allen Männern, die 18 Jahre oder älter sind:
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
} ]
Weitere unterstützte Vergleichsoperatoren in find
sind:
$lt
: <$lte
: <=$gt
: >$ne
: !=Suche nach allen Jungs, die 18 oder 16 Jahre alt sind:
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} ]
Die Übergabe von null
, leerem Objekt {}
oder nichts zu find
bedeutet, dass keine Suche durchgeführt wird. find
akzeptiert Optionen als zweites Argument.
z.B:
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} , {
sort : {
age : - 1
}
} ) . get ( ) ;
Gibt die Daten in absteigender Reihenfolge nach age
zurück. Außer sort
können Sie auch Folgendes übergeben:
skip
limit
unique
Verwenden Sie sort
, um das Ergebnis in absteigender Reihenfolge nach age
zu sortieren:
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
} ]
Lassen Sie uns nur 1 Objekt zurückbekommen:
var newData = new Faltu ( data ) . find ( ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} ]
Lassen Sie uns das 1. Objekt überspringen:
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ]
Lassen Sie uns das 1. Objekt überspringen:
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} ]
Sie können ein durch einen Schlüssel eindeutiges Ergebnis zurückgeben lassen.
var newData = new Faltu ( data ) . find ( ) . unique ( 'age' ) . get ( ) ;
Sie können jQuery
-ähnliche Filterung auch selbst durchführen. Rufen Sie die filter
auf und übergeben Sie eine 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
durchläuft alle zurückgegebenen Datensätze.
var newData = new Faltu ( data ) . find ( null ) . each ( function ( person , index ) {
console . log ( 'User name:' , person . name ) ;
} ) ;