Fixed getDocumentForIdOrSlug to be better at recognizing slugs.

This commit is contained in:
Scott Erickson 2014-01-20 09:13:18 -08:00
parent 8b0a0c4e51
commit d1176f7ee6

View file

@ -261,11 +261,11 @@ module.exports = class Handler
getDocumentForIdOrSlug: (idOrSlug, done) ->
idOrSlug = idOrSlug+''
try
mongoose.Types.ObjectId.createFromHexString(idOrSlug) # throw error if not a valid ID (probably a slug)
isID = idOrSlug.length is 24 and idOrSlug.match(/[a-z0-9]/gi)?.length is 24
if isID
@modelClass.findById(idOrSlug).exec (err, document) ->
done(err, document)
catch e
else
@modelClass.findOne {slug: idOrSlug}, (err, document) ->
done(err, document)