jsFindред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдПрдХ рд╕рд░рдгреА рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдЯрд╛рд╕реНрдХ: рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рд╖рд╛ред рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рд░рдгреА рд╣реИред рдЗрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рд░рдгреА рд╕реЗ рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЪреЗрддрд╛рд╡рдиреА! рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рднреА рд╕рдВрднрд╡ рдЬрдВрдЧрд▓реА рдмрдЯрди рд╕рдордЭреМрддреЗ рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдПрдХ рдЧреВрдВрдЧрд╛ рдмрд╛рдЗрдХ рд╣реИред рджрд┐рдП рдЧрдП рдХреЛрдб рдЕрдиреБрднрд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдЙрдВрдЧрд▓рд┐рдпреЛрдВ рдХреЛ рдХрд╛рдЯрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдиреБрднрд╡рд╣реАрди рдХреЛ рдЖрдВрд╕реВ рджреЗрддреЗ рд╣реИрдВред

рдПрдХ рдкрд░рд┐рдЪрдп рдХреЗ рд░реВрдк рдореЗрдВ: рдореБрдЦреНрдп рдХреЛрдб рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реНрдерд╛рдпреА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдмреИрдХреЗрдВрдб рдкрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕рдордп рдмреАрддрддрд╛ рдЧрдпрд╛, рдХреЛрдб рдмрдврд╝рддрд╛ рдЧрдпрд╛, рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реБрдЖ, рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ "рд╕рдВрдХреНрд░рдорд┐рдд" рдХрд░рдиреЗ рд▓рдЧрд╛ред рдФрд░ рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрд╢рд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд░реВрдЯ рд▓рд┐рдпрд╛, рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдмрдВрдбрд▓ рдХреЛ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрддреНрдкрд╛рдж рдХреИрдЯрд▓реЙрдЧ рдЬрд┐рд╕рдореЗрдВ рдЖрдЗрдЯрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 1000 рд╕реЗ рдЕрдзрд┐рдХ рдЯреБрдХрдбрд╝реЗ рдирд╣реАрдВ рдереАред

рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╕рд░рд▓ рд╕рд╛рд░рдгреА рддреИрдпрд╛рд░ рдХреА (рдХрд╛рд░ рдХреЗ рдкреНрд░рддрд┐ рдЙрддреНрд╕рд╛рд╣реА рдХреЛ рд╕рдорд░реНрдкрд┐рдд):

var cars=[ { brand: 'audi', //  model: 'a4', // volume_engine: '1.8', //  hp: '120', //-   awd: '', //  [/] automat: '', // [/] }, { brand: 'audi', //  model: 'a4 allroad', // volume_engine: '2', //  hp: '211', //-   awd: '', //  [/] automat: '', // [/] }, { brand: 'audi', //  model: 'a6', // volume_engine: '2', //  hp: '180', //-   awd: '', //  [/] automat: '', // [/] }, { brand: 'bmw', //  model: '3 Series', // volume_engine: '1.6', //  hp: '135', //-   awd: '', //  [/] automat: '', // [/] }, { brand: 'bmw', //  model: '5 Series', // volume_engine: '3', //  hp: '258', //-   awd: '', //  [/] automat: '', // [/] }, { brand: 'volkswagen', //  model: 'passat', // volume_engine: '1.8', //  hp: '152', //-   awd: '', //  [/] automat: '', // [/] }, ] 


рдЖрдЗрдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рддреБрд░рдВрдд рд╢реБрд░реВ рдХрд░реЗрдВред "рдЕрдзрд┐рдХ ..." рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВ - рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ () рд╕реЗ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдВрдб рдСрдбреА рдХреА рд╕рднреА рдХрд╛рд░реЛрдВ рдХреА рд╕рд░рдгреА рд╕реЗ рдЪреБрдиреЗрдВ ( рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ ):

 cars.find({ brand:"audi"}) //: [ { brand="audi", model="a4", volume_engine="1.8", ...}, { brand="audi", model="a4 allroad", volume_engine="2", ...}, { brand="audi", model="a6", volume_engine="2", ...} ] 


рдСрдбреА рдмреНрд░рд╛рдВрдб рдХреЗ рд╕рднреА a4 рдореЙрдбрд▓ рдЪреБрдиреЗрдВ ( рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ ):

 cars.find({ brand: "audi", model: "%a4%" }) //: [ { brand="audi", model="a4", volume_engine="1.8", ...}, { brand="audi", model="a4 allroad", volume_engine="2", ...} ] 


рд╣рдо рдСрд▓-рд╡реНрд╣реАрд▓ рдбреНрд░рд╛рдЗрд╡ ( рдХреЛрд╢рд┐рд╢ ) рдХреЗ рд╕рд╛рде рдСрдбреА рдмреНрд░рд╛рдВрдб рдХреЗ рд╕рднреА рдП 4 рдореЙрдбрд▓ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ :

 cars.find({ brand: "audi", model: "%a4%", awd:"" }) //: [ { brand="audi", model="a4 allroad", volume_engine="2", ...} ] 


- рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЪрдпрди рдмрджрд▓реЗ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ ( рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ ):

 cars.find({ brand: "audi" }).find({ model: "%a4%" }).find({ awd: "" }) //: [ { brand="audi", model="a4 allroad", volume_engine="2", ...} ] 


рдФрд░ рдЕрдм рд╣рдо 200 рд╕реЗ рдЕрдзрд┐рдХ рдШреЛрдбрд╝реЛрдВ (рдЗрдВрдЬрди) рдХреА рдЗрдВрдЬрди рд╢рдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рднреА рдХрд╛рд░реЛрдВ рдХреЛ рдкрд╛рддреЗ рд╣реИрдВ:

 cars.find({ hp: ">=200" }) //: [ { brand="audi", model="a4 allroad", volume_engine="2", ...}, { brand="bmw", model="5 Series", volume_engine="3", ...} ] 


рджреЛ рдФрд░ рддреАрди-рд▓реАрдЯрд░ рдХрд╛рд░ рдЪреБрдиреЗрдВ ( рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ ):

 cars.find({ volume_engine: ["2","3"] }) //: [ { brand="audi", model="a4 allroad", volume_engine="2", ...}, { brand="audi", model="a6", volume_engine="2", ...}, { brand="bmw", model="5 Series", volume_engine="3", ...} ] 


рдСрдбреА ( рдХреЛрд╢рд┐рд╢ ) рд╕реЗ рджреЛ рдФрд░ рддреАрди рд▓реАрдЯрд░ рдХрд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ :

 cars.find({ brand:"audi", volume_engine:["2","3"] }) //: [ { brand="audi", model="a4 allroad", volume_engine="2", ...}, { brand="audi", model="a6", volume_engine="2", ...} ] 


рдЖрдЗрдП рдЙрди рд╕рднреА рдХрд╛рд░реЛрдВ рдХреЛ рдЪреБрдиреЗрдВ рдЬрд┐рдирдореЗрдВ рдЗрдВрдЬрди рдХреА рдХреНрд╖рдорддрд╛ 2 рд▓реАрдЯрд░ рд╕реЗ рдХрдо рд╣реЛ рдФрд░ 3 рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ ( рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ ):

 cars.find({volume_engine:["<2",">=3"] }) //: [ { brand="audi", model="a4", volume_engine="1.8", ...}, { brand="bmw", model="3 Series", volume_engine="1.6", ...}, { brand="bmw", model="5 Series", volume_engine="3", ...}, { brand="volkswagen", model="passat", volume_engine="1.8", ...} ] 


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╕реНрд░реЛрдд рд╕рд░рдгреА рд╕реЗ рдЦреЛрдЬ рд╡рд┐рдзрд┐ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреА рд╣реИ рдЬреЛ рдЙрди рд╢рд░реНрддреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдзрд┐ рдХреЗ рдкрд╛рд╕ рд╣реИрдВред рдЖрдЙрдЯрдкреБрдЯ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕рд░рдгреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЗрд╕рдореЗрдВ рд╕реЗ рдЪреБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: Cars.find ({...})ред Find ({...})ред Find ({...})ред Find ({...) });

GitHub
jsfiddle

ps # 0 рдореИрдВ MongoDB рдореЗрдВ рдЦреЛрдЬ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реВрдВ, рдпрд╣ рд╕рдм рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖред рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдмрд╣реБрдд, рдЗрд╕рдХреЗ рд╕рдорд╛рди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдкреАрдПрд╕ # 1 рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЛрдЬ рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред
ps # 2 рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ jquery рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ find.js рдкрд░ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдФрд░ рдкреГрд╖реНрдард╛рдВрдХрди, рдФрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдорд╛рд░реНрдХрдЕрдк рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рддрд╛ рд╣реИред
ps # 3 рдкрд░рд┐рд░рдХреНрд╖рдг рдХреА рд╕реНрдерд┐рддрд┐ - рдЕрднреА рддрдХ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПред

Source: https://habr.com/ru/post/In163535/


All Articles