Eu optei por experimentar o MongoDB, pois além de ser um dos mais populares, o mesmo possui opção de download para windows 32-bit e 64bit, e também existem driver's disponíveis para Delphi, são eles: TMongoWire, pebongo e também um driver de minha autoria mongo-delphi-driver. Hoje vou me ater apenas a instalação e acesso ao MongoDB pelo shell, mais num próximo artigo vou abordar o consumo do serviço pelo Delphi.
Confira aqui os demais drivers existentes e tutoriais específico de cada driver.
Você pode baixar a instalador compatível com o seu SO aqui. E reforçando o aviso do site, a versão de 32-bit suporta algo em torno de 2GB de dados, portanto, deve ser utilizada apenas para testes. Se você for utilizar Windows Server 2008 R2 x64, Windows 7 x64, ou Windows 8 x64, há um build específico otimizado para estas versões.
Depois de fazer o download do MongoDB, descompacte o arquivo em um local de sua preferência. Na pasta bin, vem um conjunto de componentes e utilitários, conforme segue:
COMPONENTS bin/mongod - The database process. bin/mongos - Sharding controller. bin/mongo - The database shell (uses interactive javascript). UTILITIES bin/mongodump - MongoDB dump tool - for backups, snapshots, etc.. bin/mongorestore - MongoDB restore a dump bin/mongoexport - Export a single collection to test (JSON, CSV) bin/mongoimport - Import from JSON or CSV bin/mongofiles - Utility for putting and getting files from MongoDB GridFS bin/mongostat - Show performance statistics
Aqui vamos usar apenas o mongod e mongo. Por padrão, o mongodb armazena os dados na pasta "\data\db", e você precisa criar esse diretório manualmente, ele não cria de forma automática. Eu particularmente, prefiro deixar dentro da pasta onde estão instalado o mongo, ficando assim:
Para que ele reconheça o diretório, é preciso passar o parâmetro "--dbpath [dir]" na inicialização do banco de dados. Também é possível modificar a porta que ele deve usar. Para consultar as demais configurações, utilize "mongod --help". O comando abaixo inicia o serviço:
$ mongod --dbpath C:\mongodb\data\db --port 27017 --verbose
Feito isso, você deve visualizar uma saída como essa, indicando que o servidor foi iniciado e está aguardando conexões:
C:\mongodb\bin>mongod --dbpath c:\mongodb\data\db --port 27017 (...) (...) (...) [initandlisten] waiting for connections on port 27017
Agora podemos brincar com o shell interativo. Execute o aplicativo mongo.exe e será aberto um shell conectado ao database "test", que é o default. Então digite os comandos abaixo para ver o resultado.
C:\> cd \mongodb\bin C:\mongodb\bin> mongo MongoDB shell version: 2.0.2 > db //mostra o database atual test > db.foo.insert( { a : 1 } ) //Cria a collection "foo" e insere um documento com a chave/valor a=1 > db.foo.find() //Lista todos os objetos inserido na collection { _id : ..., a : 1 } > db.foo.insert( { b : 2 } ) //Insere um segundo objeto > db.foo.find() { _id : ..., a : 1 } { _id : ..., b : 2 } > show dbs //lista os databases existentes local (empty) test 0.03125GB > show collections //lista as collections existentes foo system.indexes > help //Mostra os demais comandos disponíveis
Por isso era isso, em breve trago exemplos de como efetuar esse acesso pelo Delphi.
Fabricio perfeito seu trabalho com o TMongoWire!
ResponderExcluirEsta a um tempão procurando um exemplo para usar o Mongo com o Delphi e consegui achar o seu.
Parabéns pelo trabalho!
Olá Adriano, obrigado mais creio que houve um equívoco, talvez tenha ficado confuso no texto, mais na verdade, o projeto TMongoWire é de autoria de Stijn Sanders, e pode ser conferido aqui: https://github.com/stijnsanders/TMongoWire
ResponderExcluirO meu projeto é https://github.com/fabriciocolombo/mongo-delphi-driver.
De qualquer modo obrigado pelo feedback.
Fabricio, você publicou o tutorial para conexão do MongoDB com o Delpho? não achei...
ResponderExcluironde vc achou o aviso que o mongodb 32bis so suporta 2gb? eu estou procurando isso no site e não encontro nada.
ResponderExcluir