Class

SlugCollection

api/slug~SlugCollection()

Slugs are unique strings that can be used to identify entities and can be used in URLs.

Constructor

# new SlugCollection()

Creates the Slug collection.

View Source api/slug/SlugCollection.js, line 17

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.

Overrides:

View Source api/base/BaseCollection.js, line 168

If not defined.

Meteor.Error

# assertSlug(slugName)

Throws an Error if the passed slugName is not a slugName.

Parameters:
Name Type Description
slugName

The SlugName

View Source api/slug/SlugCollection.js, line 111

If the passed slugName is not a slug name.

Meteor.Error

# checkIntegrity() → {Array}

Returns an empty array (no integrity checking done on Slugs.)

View Source api/slug/SlugCollection.js, line 121

An empty array.

Array

# count() → {Number}

Returns the number of documents in this collection.

Overrides:

View Source api/base/BaseCollection.js, line 35

The number of elements in this collection.

Number

# define(name) → {String}

Creates a new Slug instance and adds it to the collection.

Parameters:
Name Type Description
name String

The name of the slug. Must be globally unique across all entities.

Overrides:

View Source api/slug/SlugCollection.js, line 32

If the slug already exists.

Meteor.Error

The docID of the created Slug.

String
Example
Slugs.define({ name: 'software-engineering' });

# 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.

Overrides:

View Source api/base/BaseCollection.js, line 201

An object representing the contents of this collection.

Object

# dumpOne(docID) → {Object}

Returns an object representing the passed slug docID in a format acceptable to define().

Parameters:
Name Type Description
docID

The docID of a Slug.

Overrides:

View Source api/slug/SlugCollection.js, line 130

An object representing the definition of docID.

Object

# 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:

View Source api/base/BaseCollection.js, line 75

Mongo.Cursor

# 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.

Overrides:

View Source api/base/BaseCollection.js, line 86

If the document cannot be found.

Meteor.Error

The document associated with name.

Object

# 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:

View Source api/base/BaseCollection.js, line 111

Mongo.Cursor

# getCollectionName() → {string}

Returns the collection name.

Overrides:

View Source api/base/BaseCollection.js, line 136

The collection name as a string.

string

# getEntityID(slugName) → {String}

Returns the docID of the entity associated with this Slug.

Parameters:
Name Type Description
slugName String

The slug name or docID.

View Source api/slug/SlugCollection.js, line 69

If the slug or entity cannot be found or is the wrong type.

Meteor.Error

The docID of the entity.

String

# getNameFromID(slugID)

Returns the slug name associated with this ID.

Parameters:
Name Type Description
slugID

The slug ID.

View Source api/slug/SlugCollection.js, line 93

If the passed slugID is not valid.

Meteor.Error

The slug name.

# getPublicationName() → {String}

Return the publication name.

Overrides:

View Source api/base/BaseCollection.js, line 128

The publication name, as a string.

String

# getSchema() → {SimpleSchema}

Returns the schema attached to this collection.

Overrides:

View Source api/base/BaseCollection.js, line 144

SimpleSchema

# getType() → {String}

Return the type of this collection.

Overrides:

View Source api/base/BaseCollection.js, line 120

The type, as a string.

String

# hasSlug(slugID) → {boolean}

Returns true if the passed slugID is defined in this collection. In the case of SlugCollection, hasSlug is a synonym for isDefined, and you should use isDefined instead.

Parameters:
Name Type Description
slugID String

A docID.

View Source api/slug/SlugCollection.js, line 83

True if the slugID is in this collection.

boolean

# 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.

Overrides:

View Source api/base/BaseCollection.js, line 153

True if name exists in this collection.

boolean

# isValidSlugName(slugName) → {boolean}

Returns true if slugName is syntactically valid (i.e. consists of a-zA-Z0-9 or dash or underscore.)

Parameters:
Name Type Description
slugName string

The slug name.

View Source api/slug/SlugCollection.js, line 49

True if it's OK.

boolean

# publish()

Default publication method for entities. It publishes the entire collection. This should be overridden in subclasses.

Overrides:

View Source api/base/BaseCollection.js, line 178

# removeIt(docOrID)

A stricter form of remove that throws an error if the document or docID could not be found in this collection.

Parameters:
Name Type Description
docOrID String | Object

A document or docID in this collection.

Overrides:

View Source api/slug/SlugCollection.js, line 102

# 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.

Overrides:

View Source api/base/BaseCollection.js, line 243

# 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.

Overrides:

View Source api/base/BaseCollection.js, line 232

The docID of the newly created document.

String

# subscribe()

Default subscription method for entities. It subscribes to the entire collection. Should be overridden in subclass

Overrides:

View Source api/base/BaseCollection.js, line 188

# update(selector, modifier)

Runs a simplified version of update on this collection. This method must be overriden in subclasses.

Parameters:
Name Type Description
selector Object

A MongoDB selector.

modifier Object

A MongoDB modifier

Overrides:
See:

View Source api/base/BaseCollection.js, line 53

# updateEntityID(slugID, entityID)

Updates a Slug with the docID of the associated entity.

Parameters:
Name Type Description
slugID String

The docID of this Slug.

entityID String

The docID of the entity to be associated with this Slug.

View Source api/slug/SlugCollection.js, line 59