 <p>You can use <code>Regex</code> when you search a string in MongoDB:</p> <pre><code>Query.Matches("story","&lt;Regex for: moon or cow or Neil&gt;"); </code></pre> <p>Look <a href="http://stackoverflow.com/questions/5421952/how-to-match-multiple-words-in-regex">here</a> to see how to write a regex that matches multiple words. It's basically this:</p> <pre><code>^(?=.*\bmoon\b)(?=.*\bcow\b)(?=.*\bNeil\b) </code></pre> <p>In conclusion:</p> <pre><code>collection.Find(Query.Matches( "story", "^(?=.*\bmoon\b)(?=.*\bcow\b)(?=.*\bNeil\b)")) .SetSortOrder(SortBy.Descending("Submitted")).Skip(skip).Take(limit); </code></pre>