O que é um bom padrão para vários idiomas no MongoDb?

5

Digamos que eu queira criar um site que suporte vários idiomas e use o datastore do MongoDB. Eu me pergunto o que é uma boa abordagem para ter várias versões do corpo e título de um artigo, um para cada idioma.

Devo manter todas as versões no mesmo documento de artigo? Como uma coleção de pares de valor-chave de código de idioma e texto no campo body do artigo. Dessa forma, eu não recebo mais do que 1 solicitação para visualizar artigos, mas também recebo mais dados do que o necessário, portanto, a resposta é maior.

Existe uma solução melhor? Como e porquê?

    
por Gabriel Smoljár 18.05.2013 / 09:45
fonte

1 resposta

2

Eu uso o seguinte padrão para texto que deve ser indexado em todos os idiomas:

{
"id":"sdsd"
"title":{"languages":{"en":0,"fr":1},"texts":["this is the title in inglish","Celui ci c'est le titre en francais"]}
}

object = coleccion.find("id='xxxxx'");

// agora se quiser o texto em inglês

print(object.title.texts[object.title.languages["en"]])

// o uso do array de índices objecttitle.languages para melhorar o desempenho no cliente acessando um determinado texto

// que nos permite adicionar índices aos seus textos traduzidos no mongo, como

ensureIndex({title.texts})

Também podemos incluir o código para obter texto em um idioma específico em uma classe.

    
por 31.05.2013 / 15:32
fonte