I have this query
db.words.find({ \"$text\": { \"$search\": \"\\\"cake sale\\\"\" } }) // gives expected answer in robo3T
Now my text
Your query is incorrect. You need to change the query
db.words.find({ "$text": { "$search": `"\"${text}\"` } })
to
db.words.find({ "$text": { "$search": `\"${text}\"` } })
Since, there is an extra double quote ("
) in the beginning after the first backquote. Doing that will fix your query.
Simple illustration:
console.log("\"cake sale\"");
var text = "cake sale";
console.log(`\"${text}\"`);
// both the console.log gives same result