Mongo 스타일로 객체 배열을 검색하고, 필터링하고, 제한하고, 반복합니다.
NodeJS 에서:
npm install faltu --save
다른 프로젝트의 경우 파일을 다운로드하여 페이지에 포함시키면 됩니다.
< script src =" faltu.min.js " > </ script >
전달되는 모든 데이터는 배열 또는 객체일 것으로 예상됩니다.
예:
[array, array, ..., array]
반환된 모든 데이터도 동일한 유형입니다.
예를 들어:
var data = [ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ] ;
배열을 생성자에 전달합니다.
NodeJS 에서:
var Faltu = require ( 'faltu' ) ;
var faltuData = new Faltu ( data ) ;
다른 환경에서는:
var faltuData = new Faltu ( data ) ;
검색을 위해 find
메소드를 사용할 수 있습니다. 18세인 모든 남성을 검색하세요.
var newData = new Faltu ( data ) . find ( {
age : 18
} ) . get ( ) ;
newData
다음과 같습니다.
[ {
name : "Doe" ,
age : 18
} ]
배열을 다시 가져오려면 항상 끝에 get
호출해야 합니다. 아니면 그냥 faltu
인스턴스를 반환합니다.
18세 이상의 모든 남성을 검색하세요.
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
} ]
find
에서 지원되는 다른 비교 연산자는 다음과 같습니다.
$lt
: <$lte
: <=$gt
: >$ne
: !=18세 또는 16세인 모든 남성을 검색하세요.
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} , {
name : "Doe" ,
age : 18
} ]
null
, 빈 객체 {}
또는 find
항목이 없다는 것은 검색을 수행하지 않는다는 의미입니다. find
옵션을 두 번째 인수로 받아들입니다.
예:
var newData = new Faltu ( data ) . find ( {
age : [ 16 , 18 ]
} , {
sort : {
age : - 1
}
} ) . get ( ) ;
age
로 내림차순으로 데이터를 반환합니다. sort
외에 다음을 전달할 수도 있습니다.
skip
limit
unique
sort
사용하여 결과를 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
} ]
단 하나의 객체만 돌려받으세요:
var newData = new Faltu ( data ) . find ( ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "John" ,
age : 16
} ]
첫 번째 객체를 건너뛰자:
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} , {
name : "Smith" ,
age : 22
} ]
첫 번째 객체를 건너뛰자:
var newData = new Faltu ( data ) . find ( ) . skip ( 1 ) . limit ( 1 ) . get ( ) ;
newData
:
[ {
name : "Doe" ,
age : 18
} ]
키별로 고유한 결과가 반환될 수 있습니다.
var newData = new Faltu ( data ) . find ( ) . unique ( 'age' ) . get ( ) ;
jQuery
와 같은 필터링을 직접 수행할 수도 있습니다. filter
메서드를 호출하고 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
반환된 모든 레코드를 반복합니다.
var newData = new Faltu ( data ) . find ( null ) . each ( function ( person , index ) {
console . log ( 'User name:' , person . name ) ;
} ) ;