ابحث عن الفرز والتصفية والحد والتكرار عبر مجموعة من الكائنات بأسلوب 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
-esque بنفسك. استدعاء طريقة 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 ) ;
} ) ;