Extends
Methods
# assertDefined(name)
Verifies that the passed object is one of this collection's instances.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | List | Should be a defined ID or doc in this collection. |
If not defined.
# count() → {Number}
Returns the number of documents in this collection.
The number of elements in this collection.
# define(challenge, interest) → {string}
Defines a link between the challenge and the interest.
Parameters:
Name | Type | Description |
---|---|---|
challenge |
string | the challenge slug or id. |
interest |
string | the interest slug or id. |
The id of the record.
# dumpAll() → {Object}
Returns an object with two fields: name and contents. Name is the name of this collection. Contents is an array of objects suitable for passing to the restore() method.
An object representing the contents of this collection.
# dumpOne(docID) → {Object}
Returns an object representing the definition of docID in a format appropriate to the restoreOne function. Must be overridden by each collection.
Parameters:
Name | Type | Description |
---|---|---|
docID |
String | A docID from this collection. |
An object representing this document.
# find(selector, options) → {Mongo.Cursor}
Runs find on this collection.
Parameters:
Name | Type | Description |
---|---|---|
selector |
Object | A MongoDB selector. |
options |
Object | MongoDB options. |
- Overrides:
- See:
# findDoc(name) → {Object}
A stricter form of findOne, in that it throws an exception if the entity isn't found in the collection.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Object | Either the docID, or an object selector, or the 'name' field value. |
If the document cannot be found.
The document associated with name.
# findOne(selector, options) → {Mongo.Cursor}
Runs findOne on this collection.
Parameters:
Name | Type | Description |
---|---|---|
selector |
Object | A MongoDB selector. |
options |
Object | MongoDB options. |
- Overrides:
- See:
# getCollectionName() → {string}
Returns the collection name.
- Overrides:
The collection name as a string.
# getPublicationName() → {String}
Return the publication name.
- Overrides:
The publication name, as a string.
# isDefined(name) → {boolean}
Returns true if the passed entity is in this collection.
Parameters:
Name | Type | Description |
---|---|---|
name |
String | Object | The docID, or an object specifying a documennt. |
True if name exists in this collection.
# publish()
Default publication method for entities. It publishes the entire collection. This should be overridden in subclasses.
# removeChallenge(challenge)
Removes all the Challenge-Interest pairs for the given challenge.
Parameters:
Name | Type | Description |
---|---|---|
challenge |
string | the challenge slug or ID. |
# removeInterest(interest)
Removes all the Challenge-Interest pairs for the given interest.
Parameters:
Name | Type | Description |
---|---|---|
interest |
string | the interest slug or ID. |
# removeIt(docID)
Removes the Challenge-Interest pair.
Parameters:
Name | Type | Description |
---|---|---|
docID |
string | the id of the pair. |
if the docID is not defined.
# restoreAll(dumpObjects)
Defines all the entities in the passed array of objects.
Parameters:
Name | Type | Description |
---|---|---|
dumpObjects |
The array of objects representing the definition of a document in this collection. |
# restoreOne(dumpObject) → {String}
Defines the entity represented by dumpObject. Defaults to calling the define() method if it exists.
Parameters:
Name | Type | Description |
---|---|---|
dumpObject |
An object representing one document in this collection. |
The docID of the newly created document.
# subscribe()
Default subscription method for entities. It subscribes to the entire collection. Should be overridden in subclass
# update(docID, challenge, interest)
Updates the Challenge-Interest pair.
Parameters:
Name | Type | Description |
---|---|---|
docID |
string | the id of the record. |
challenge |
string | the challenge slug or ID, optional. |
interest |
string | the interest slug or ID, optional. |