MongoDB consuming all available memory

I made some progress on this by dropping the text index and creating a new one with rid included:

db.rocketchat_messages.createIndex( { "msg" : "text", "rid" : 1 } )

Does this look correct? Queries seem to perform a bit better now when a rid is included but still generally very slow and without rid it’s unusable. I’m very interested in understanding what I can do to make this index perform. I have a MySQL db with a fulltext search on something like 3 million rows and it’s very fast - often less than 1 second for results. If I could get Mongo to behave anything like that it would be a dream.