Urutkan pencarian, filter, batasi, dan ulangi serangkaian objek dalam gaya Mongo.
Di NodeJS :
npm install faltu --save
Untuk proyek lain cukup unduh dan sertakan file di halaman Anda:
< script src =" faltu.min.js " > </ script >
Semua data yang diteruskan diharapkan berupa array atau objek.
misalnya:
[array, array, ..., array]
Semua data yang dikembalikan juga bertipe sama.
Misalnya:
var data = [ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ] ;
Teruskan array ke konstruktor:
Di NodeJS :
var Faltu = require ( 'faltu' ) ;
var faltuData = new Faltu ( data ) ;
Di lingkungan lain:
var faltuData = new Faltu ( data ) ;
Anda dapat menggunakan metode find
untuk mencari. Cari semua pria yang berusia 18 tahun:
var newData = new Faltu ( data ) . find ( {
age : 18
} ) . get ( ) ;
newData
akan terlihat seperti:
[ {
name : "Doe" ,
age : 18
} ]
Anda harus selalu memanggil get
di akhir jika Anda ingin array kembali. Atau itu hanya akan mengembalikan instance faltu
.
Telusuri semua pria yang berusia 18 tahun ke atas:
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
} ]
Operator perbandingan lain yang didukung di find
adalah:
$lt
: <$lte
: <=$gt
: >$ne
: !=Telusuri semua pria berusia 18 atau 16 tahun:
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} ]
Melewati null
, objek kosong {}
atau tidak find
apa pun berarti tidak melakukan penelusuran apa pun. find
menerima opsi sebagai argumen kedua.
misalnya:
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} , {
sort : {
age : - 1
}
} ) . get ( ) ;
Akan mengembalikan data dalam urutan menurun berdasarkan age
. Selain sort
Anda juga dapat meneruskan:
skip
limit
unique
Gunakan sort
untuk mengurutkan hasil dalam urutan menurun berdasarkan 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
} ]
Mari kita kembalikan 1 objek saja:
var newData = new Faltu ( data ) . find ( ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} ]
Mari kita lewati objek pertama:
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ]
Mari kita lewati objek pertama:
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} ]
Anda dapat memperoleh hasil yang unik dengan sebuah kunci.
var newData = new Faltu ( data ) . find ( ) . unique ( 'age' ) . get ( ) ;
Anda juga dapat melakukan pemfilteran jQuery
-esque sendiri. Panggil metode filter
, teruskan suatu 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
mengulangi semua catatan yang dikembalikan.
var newData = new Faltu ( data ) . find ( null ) . each ( function ( person , index ) {
console . log ( 'User name:' , person . name ) ;
} ) ;