I had a similar problem and the problem was that I did not open the database before calling securityIndex. What I did was (coffee script)
db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
console.log indexName
console.log err
db.close()
db.open (err,database) ->
db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
console.log indexName
console.log err
db.close()
. , .