A collection is an ordered set of models.
It is used to deal with a group of related models.
It handles the loading and saving of new models to the server.
It provides helper functions to perform aggregation and computation against a list of models.
You can create your own collection by extending the backbone's collection class.
If an event is triggered on a model in a collection then this will also be triggered on the collection directly. It facilitates you to listen for changes to specific attributes in any model in a collection.
Following is a list of methods that can be used to manipulate the Backbone.js collection:
Index |
Method |
Description |
1. |
extend |
It is used to extend the backbone's collection class to create an own collection. |
2. |
model |
It is used to specify the model class. You need to override the model property of the collection class. |
3. |
initialize |
Initialize function is defined to create a model instance. |
4. |
models |
It specifies the array of models which are created inside of the collection. |
5. |
toJSON |
It returns the copy of the attributes of a model using JSON format in the collection. |
6. |
sync |
It specifies the state of the model and uses backbone.sync to display the state of the collection. |
7. |
add |
It is used to add a model or array of models to the collection. |
8. |
remove |
It removes a model or array of models from the collection. |
9. |
reset |
It resets the collection and populates with new array of models or empty the entire collection. |
10. |
set |
It is used to update the collection with set of items in a model. If any new model is found, the items will be added to that model. |
11. |
get |
It is used to retrieve the model from a collection by using id or Cid. |
12. |
at |
It is used to retrieve the model form a collection by using specified index. |
13. |
push |
It is similar to add() method which takes array of models and push the models to the collection. |
14. |
pop |
It is similar to remove() method which takes array of models and remove the models from the collection. |
15. |
unshift |
It is used to add specified model at the beginning of a collection. |
16. |
shift |
It is used to remove the first item from the collection. |
17. |
slice |
It is used to display the shallow copy of the elements from the collection model. |
18. |
length |
It is used to count the number of models in the collection. |
19. |
comparator |
It sorts the items in the collection. |
20. |
sort |
It is used to sort the items in the collection. it also uses comparator property in order to sort the items. |
21. |
pluck |
It is used to retrieve the attributes from the model in the collection. |
22. |
where |
It is used to display the model by using the matched attribute in the collection. |
23. |
findWhere |
It is used to return the model that matches the specified attribute in the collection. |
24. |
url |
It creates an instance of the collection and returns where resource is located. |
25. |
parse |
It returns the collection's data by passing through the response object and represents the data in JSON format. |
26. |
clone |
It is used to return the shallow copy of the specified object. |
27. |
fetch |
It uses the sync method to extract data from the model in the collection. |
28. |
create |
It creates new instance of the model in the collection. |
The following table specifies underscore.js methods which provide their functionality to be used on the Backbone.Collection.
Index |
Method |
Description |
1. |
_.each(list, iteratee, [context]) |
It iterates each of the elements in the collection using iteratee function. |
2. |
_.map(list, iteratee, [context]) |
It maps each value and displays them in a new array of values using iteratee function. |
3. |
_.reduce(list, iteratee, memo, [context]) |
It is used to reduce list of values into single value. It is also known as inject and foldl. |
4. |
_.reduceright(list, iteratee, memo, [context]) |
It is right associative version of reduce. |
5. |
_.find(list, predicate, [context]) |
It finds each value and returns the first one which passes the predicate or test. |
6. |
_.filter(list, predicate, [context]) |
It filters each value and returns the array of values which passes the predicate or test. |
7. |
_.reject(list, predicate, [context]) |
It returns the rejected elements in the list which doesn't pass the predicted values. |
8. |
_.every(list, predicate, [context]) |
It returns true, if elements in the list pass the predicted values. |
9. |
_.some(list, predicate, [context]) |
It returns true, if elements in the list pass the predicted values. |
10. |
_.contains(list, value, [fromindex]) |
It returns true, if value present in the list. |
11. |
_.invoke(list, methodname, *arguments) |
It invokes the method name using method name() on each value in the list. |
12. |
_.max(list, [iteratee], [context]) |
It specifies the maximum value in the list. |
13. |
_.min(list, [iteratee], [context]) |
It specifies the minimum value in the list. |
14. |
_.sortby(list, [iteratee], [context]) |
It returns the sorted elements in ascending order by using iteratee in the list. |
15. |
_.groupby(list, [iteratee], [context]) |
It divides the collection values into sets, grouped by using iteratee in the list. |
16. |
_.shuffle(list) |
It returns shuffled copy of the list. |
17. |
_.toarray(list) |
It defines an array of the list. |
18. |
_.size(list) |
It defines the number of values in the list. |
19. |
_.first(array, [n]) |
It specifies the first element of the array in the list. |
20. |
_.initial(array, [n]) |
It returns everything, but specifies the last entry of the array in the list. |
21. |
_.last(array, [n]) |
It specifies the last element of the array in the list. |
22. |
_.rest(array, [index]) |
It defines rest of the elements in the array. |
23. |
_.without(array, *values) |
It returns values of all instances which are removed in the list. |
24. |
_.indexof(array, value, [issorted]) |
It returns value if it found at specified index or returns -1, if it is not found. |
25. |
_.indexof(array, value, [fromindex]) |
It returns last occurrence of the value in the array or returns -1, if it is not found. |
26. |
_.isempty(object) |
It returns true if there are no values in the list. |
27. |
_.chain(obj) |
It is used to return a wrapped object. |