Create custom query with Mongoose

System Information
  • Strapi Version: 3.6.2
  • Operating System: MacOs
  • Database: MongoDB
  • Node Version: 14.17.0
  • NPM Version: 6.14.13
  • Yarn Version: 1.22.10

I’m new to both Strapi and Mongoose, so I apologise if this is a stupid question.

Following the docs I’m trying to create a custom query in Strapi in which I want to return the whole collection called people sorted by name desc. But when I hit the endpoint I get a 500 error and checking the terminal the error message is: CastError: Cast to ObjectId failed for value “alldesc” at path “_id” for model “people”.

here’s my code so far:


module.exports = {
  findByNameDesc() {
    const result = strapi
      .sort({ name: "descending" });

    return => entry.toObject());


module.exports = {
  async alldesc(ctx) {
    const entities = await;

    return =>
      sanitizeEntity(entity, { model: strapi.models.people })


  "routes": [


      "method": "GET",
      "path": "/people/alldesc",
      "handler": "people.alldesc",
      "config": {
        "policies": []

What am I doing wrong? Even if I remove the sort() from the query I still get the same error.

Thank you in advance

The problem was in routes.json. Basically seems like Strapi doesn’t like the slash / following the collection name for custom queries (maybe someone can explain to me why? and if there’s a workaround?), so instead of /people/alldesc I tried /people-alldesc and it worked.

Also in the service there’s no need for return => entry.toObject());, that causes anther error, simply doing return result works.