Versión MySQL  SafeDocuments es un pequeño proyecto de ejemplo, realizado en PHP, MongoDB 2.4 y MySQL, la finalidad de este, es apreciar de forma práctica las diferencias o similitudes que puedan hallarse entre MySQL y MongoDB, al desarrollar un sistema para el almacenamiento, documentación y consulta de documentos en la nube  con el lenguaje de programación PHP. El mini proyecto funciona como un mini Megaupload o Rapid Shred, más o menos; en el sentido que permite subir archivos, adicionarles un título, una descripción y etiquetas; posteriormente se puede buscar los documentos a través del buscador integrado, utilizando algunas de las palabras que se encuentren dentro de la descripción o el titulo o en las etiquetas. El buscador  utiliza dos algoritmos para generar una lista de resultados acordes al parámetro de búsqueda  proporcionado por el usuario. El primer algoritmo se ejecuta cuando el parámetro de búsqueda es una sola palabra; en el caso de MySQL se consigue con un SELECT y varios %LIKE%  en el condicional WHERE, un LIKE por cada campo en los que se quiera buscar; con MongoDB  se utiliza una expresión regular que será el contenido de cada una de las claves del “arreglo or” que se pasa como parámetro a la función find de la colección activa.  El segundo algoritmo se ejecuta cuando el parámetro de búsqueda contiene más de una palabra, esto se conoce como, búsquedas booleanas de texto completo (Full-Text), las búsquedas booleanas permiten buscar en varios campos a la vez, de forma similar a como lo hacen los buscadores de internet. En MySQL se tiene que crear un índice FULLTEXT con los campos de la tabla en los que se quiere buscar, luego se utiliza la función MATCH() AGAINST  en el condicional WHERE con los campos que se definieron en índice FULLTEXT. Para habilitar el soporte de búsqueda booleana o FULLTEXT en MongoDB, se debe iniciar el servidor mongod con el parámetro “setParameter = textSearchEnabled=true”,  desde PHP se utiliza el método ensureIndex()  con un array como parámetro donde se definen los campos del índice FULLTEXT, a continuación el método command() con los parámetros de la búsqueda.  Usuario:demo Contraseña:demo