MongoDB / Mongoose - Text search inside array

mongoose isn't an index management solution. So don't rely on mongoose to create indexes. They even state this on their docs at faq.

In a production environment, you should create your indexes using the MongoDB shell rather than relying on mongoose to do it for you.

So all you need to do is creating the text index at mongodb shell. If the collection name is different from users you need to change also below.

db.users.createIndex(
    {
        "items.title": "text",
        "items.description": "text",
    }
)