Encontré un problema similar y el problema era que no estaba abriendo la base de datos antes de llamar a ensureIndex. Lo que estaba haciendo era (coffeescript)
db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
console.log indexName
console.log err
db.close()
y lo que funcionó fue
db.open (err,database) ->
db.collection('resources').ensureIndex {"$**": "text"}, {name: "email_index_text"},(err, indexName) ->
console.log indexName
console.log err
db.close()
El primer fragmento hizo nada en absoluto. No se creó ningún índice y no se arrojó ningún error.
Puede agregar el texto como respuesta a continuación. Esa es la forma de desbordamiento de la pila, solo responde tus preguntas como lo harían otros. Después de dos días (si no es que llega una respuesta mejor), puede aceptar su propia respuesta como correcta. Es mejor cuando otras personas vean que su pregunta ha sido resuelta. – Aufziehvogel