рдЕрднрд┐рд╡рд╛рджрди, рд╣рдмреНрдмрд░ рдХреЗ рдкреНрд░рд┐рдп рдкрд╛рдардХред рдореИрдВ
рдиреЛрдб рдХреЗ рддрд╣рдд
backbone.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛
рд╣реВрдВ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдмреИрдХрдмреЛрди.рдЬреЗрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдбрд┐рдВрдЧ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд┐рдХрд▓рд╛ред
рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рд╕реЗрд╡рд╛ рдПрдХ рд╕реЗрд╡рд╛ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
рдореЛрдВрдЧреЛрдбрдм рдХреЛ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдореЛрдВрдЧреЛрдбрдм рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдУрдЖрд░рдПрдо рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рджреЗрдЦрд╛, рдФрд░ рдпрд╣ рдореБрдЭреЗ рдкрд░рд┐рдЪрд┐рдд рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╡реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдмреИрдХрдмреЛрди.рдореЙрдбрд▓ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдпрд╣ рдЬрд╛рдВрдЪ рд▓реЗрдВ рдХрд┐ рдпрд╣ рд╕рднреА рдореИрдВрдЧреЛрдбрдм рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ рдЪреБрдиреМрддреАред рдореЛрдВрдЧреЛрдбрдм рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрд╡рд╛ рд╣реИред рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рд╣реЗрдЬрдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
Backbone.js рд╣рдореЗрдВ 2 рдореВрд▓ рд╡рд╕реНрддреБрдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - рдПрдХ рдореЙрдбрд▓ рдФрд░ рдПрдХ рд╕рдВрдЧреНрд░рд╣ред рд╣рдо рдПрдХ рдкрд░рдд рд▓рд┐рдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рднрд╡рд┐рд╖реНрдп рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗред рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реВрдБрдЧрд╛ рдХрд┐ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдФрд░ рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рд╣рдо рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рднреА рдХрд░рддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ рд╣рд░ рдЬрдЧрд╣ рдореИрдВ рдЖрд╕реНрдердЧрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП, рдХреМрди рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЬрд╛рдирд╡рд░ рд╣реИ, рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рдиреЛрдб.рдЬреЗрдПрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЛрдВрдЧреЛрдбрдм рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╣рддреНрд╡рд╣реАрди рд╣реИред рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдХреЛрдб рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдмреЗрд╕ рдореЙрдбрд▓
рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдХрдХреНрд╖рд╛ рдХреЗ рд╕реНрдерд┐рд░ рднрд╛рдЧ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рд╣реЛрддреА рд╣реИ:
var BaseModel = Backbone.Model.extend({ idAttribute: "_id", },{ db_collection: null,
рдХреЛрдб рдпрд╣ рднреА рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ Backbone.Model рд╡рд░реНрдЧ рдХреЗ рдЖрдзрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд╡рд╕реНрддреБ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рдореБрдЦ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░ db_collection рдореЗрдВ, рд╣рдордиреЗ рдЙрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд╡рд╕реНрддреБ рдХрд╛ рд╕рдВрдмрдВрдз рд╣реЛрдЧрд╛ред
рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд░реНрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
var User = BaseModel.extend({},{ db_collection:"users"});
рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
User.fetchFromDb({_id:1});
рдЕрдм рдЖрдкрдХреЛ рдпрд╣ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдмрдирд╛рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, backbone.js рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рдВрдХ рд╡рд┐рдзрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ:
function sync(method, model, options)
рдЬрд╣рд╛рдВ:
- рд╡рд┐рдзрд┐ - рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдмрдЪрдд рд╡рд┐рдзрд┐, рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреА рд╣реИ:
- create - рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рдПрдВ;
- рдЕрджреНрдпрддрди - рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореМрдЬреВрджрд╛ рдореЙрдбрд▓ рдХрд╛ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬреЗрдВ;
- рдкрдврд╝рд╛ - рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдореМрдЬреВрджрд╛ рдореЙрдбрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ;
- рдбрд┐рд▓реАрдЯ - рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбрд┐рд▓реАрдЯ рдХрд░реЗрдВред
- рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рд╣рдорд╛рд░рд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ;
- рд╡рд┐рдХрд▓реНрдк - рдмрдЪрдд рдХреЗ рд╕рдордп рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдкрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
sync: function(method, model, options){ var fltr = {}; var deferred = new Deferred(); db.getCollection(this.constructor.db_collection, collectionReady.bind(this)); return deferred.promise; function collectionReady(err, collection){ function done(err, result){ if (options.success) options.success(result);
рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдореЙрдбрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╣реИрдВрдбрд▓рд░ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реА рдпрд╣ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:
var user = new User({name:"Danil"});
рд╣рдо рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ:
user.save()
рдФрд░ рдмрдЪрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА рд╣рдЯрд╛рдПрдВ:
user.delete()
рдЖрдзрд╛рд░ рд╕рдВрдЧреНрд░рд╣
рдПрдХрд▓ рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХрд╛рдлреА рдЙрдмрд╛рдК рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреИрдХрдмреЛрди.рдЬреЗрдПрд╕ рдореЗрдВ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣реИред рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рд╕реЗ, рд╣рдо рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд╕рднреА рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдЙрд╕рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реЗред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ "рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛" рдХреА рд╕реВрдЪреА рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
var BaseCollection = Backbone.Collection.extend({ },{ db_collection: null, __fetchCollection:function(filter, collection){ var deferred = new Deferred(); function collectionReady(err, collection){ collection.find(filter).toArray(function(err, items) { deferred.resolve(items); }.bind(this)); } db.getCollection(collection_db, collectionReady, this); return deferred.promise; } });
рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдФрд░ рдПрдХ рд╕реНрдерд┐рд░ db_collection рдлрд╝реАрд▓реНрдб рднреА рдЬреЛрдбрд╝реЗрдЧрд╛ рдЬреЛ рд╡рд╛рд░рд┐рд╕ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд░реНрдЧ mongodb рдореЗрдВ рдХрд┐рд╕ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдореЙрдбрд▓ рдХреЗ рдЖрд░рдВрдн рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, рд╣рдо рдЕрдкрдиреЗ рдЖрдзрд╛рд░ рд╕рдВрдЧреНрд░рд╣ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рдФрд░ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
fetchFromDb:function(filter){ var deferred = new Deferred(); this.__fetchCollection(filter, this.db_collection).then( function(models){ deferred.resolve(new this(models)); }.bind(this) ); return deferred.promise; },
рдпрд╣рд╛рдВ рд╣рдо рд╕рд┐рд░реНрдл "рдХрдЪреНрдЪрд╛ рдбреЗрдЯрд╛" рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдЬреБрдбрд╝реЗ рдореЙрдбрд▓, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбрд▓ рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдПрдХ рд╕рд░рд▓реАрдХрд░рдг рдорд╛рдиреЗрдВрдЧреЗред
рдЕрдм, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var Users = BaseCollection.extend({model:User}, {db_collection: "users"}); Users.fetchFromDb({name:"Danil"}).then(function(users){ _.each(users,function(user){console.log(user.id)}); });
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдореЛрдВрдЧреЛрдбреЗрдм рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо рдорд┐рд▓ рдЧрдП рдФрд░ рдлрд┐рд░ рд╣рдо рдЕрдиреНрдп рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдмреИрдХрдмреЛрди.рдЬреЗрд╕реА рд╣рдореЗрдВ рджреЗрддрд╛ рд╣реИред