Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Semântica dos dados

uma dúvida, hoje tenho duas tabelas em MySQL:

1 tabela de clientes com nome, sobrenome, data nascimento e etc. e uma outra tabela com a perfil profissional que possui a formação, profissão, experiências anteriores e etc.

O usuário entra com os dados de sua profissão de acordo com as profissões cadastras no sistema, até ai tudo bem.

Porem, gostaríamos de implementar que as profissões que não estão cadastras o próprio cliente possa cadastrar, por exemplo: esta cadastrado no sistema Consultor de Vendas de Software neste caso o cliente cadastraria Vendedor de Software CAD. Até aqui ok.

Quando for realizado uma query com objetivo de encontrar um "vendedor de software", ha alguma forma que MongoDB traga os dois clientes visto que os mesmos apresentam experiência na área? Como seria esta comparação com MySQL.

Obrigado!

2 respostas

Não manjo muito de mongo, mas o caso que vc quer encaixa mais no caso de busca textual. Talvez isso te ajude => https://docs.mongodb.com/manual/core/index-text/

No mysql vc teria o mesmo problema... Uma solução mais fácil era categorizar a área.

solução!

Olá. Não sei se entendi muito bem sua questão, mas vamos lá.

Considerando que você deseja que o MongoDB liste para você as duas profissoes cadastradas, como Consultor de Venda de Software e Vendedor de Software CAD, aconselho duas soluções. 1) criar um campo novo no Documento que generalizasse a profissão. Ou seja, seria um sub-documento com um campo "area":"software", "nome_profissao":"Consultor de Venda de Software". e depois filtrasse na query.

db.profissional.find({"profissao.area":"software"})

2) Solução mais adequada, utilizar a poderosa Busca Textual do MongoDB. Segue o link do mestre Christiano explicando como utilizá-lo: http://christiano.me/como-funciona-a-busca-textual-do-mongodb/

Espero ter ajudado.