sexta-feira, janeiro 06, 2012

Exemplo simples de JQuery acessando MongoDB através do Sleepy Mongoose

Para quem quer brincar com um MongoDB no localhost via web browser, aqui vai uma receitinha de como fiz para rodar a interface REST Sleepy Mongoose e acessar ela via JQuery usando o Apache do MAMP no MacOSX:

O primeiro passo é instalar o Mongo, o Sleepy Mongoose e o MAMP, caso ainda não tenha.

Se sua página só for fazer GET e ler dados do banco, isto é o suficiente. Apenas lembre-se de usar dataType: 'jsonp' nas ajax calls do jquery.

Mas se vc quiser brincar com POST via browser, não vai conseguir por problema de cross domain (página na porta 8888 tentando fazer post na porta 27080). Você receberia um erro do tipo:

XMLHttpRequest cannot load http://localhost:27080/... . Origin http://localhost:8888 is not allowed by Access-Control-Allow-Origin.

Neste caso, uma saída é alterar a configuração do Apache (no MAMP o arquivo é /Applications/MAMP/conf/apache/httpd.conf ) para redirecionar certas requisições para esta porta usando o mod_proxy. Para redicionar o /api por exemplo seria a seguinte linha:

ProxyPass /api http://localhost:27080/


Fiz um demo bem simples de html acessando esta api com jquery para find e insert, coloquei no github. Espero que seja útil:

Exemplo de JQuery acessando MongoDB via Sleepy Mongoose no MAMP(Mac OSX)

Nenhum comentário: