Qual è un buon pattern per multi lingua in MongoDb?

5

Dire che voglio costruire un sito web che supporta più lingue e utilizzare il datastore MongoDB. Mi chiedo quale sia un buon approccio per avere più versioni del corpo e il titolo di un articolo, uno per ogni lingua.

Devo conservare tutte le versioni nello stesso documento dell'articolo? Come una raccolta di coppie chiave-valore di codice di lingua e testo nel campo corpo dell'articolo. In questo modo non avrei ricevuto più di 1 richiesta per visualizzare articoli, ma avrei anche ottenuto più dati di quanti ne avrei potuto avere, quindi la risposta è più grande.

C'è una soluzione migliore? Come e perché?

    
posta Gabriel Smoljár 18.05.2013 - 09:45
fonte

1 risposta

2

Uso il seguente modello per il testo che deve essere indicizzato in tutte le lingue:

{
"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'");

// ora se vuoi il testo in inglese

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

// l'uso di objecttitle.languages index array per migliorare le prestazioni nel client che accede a un determinato testo

// che ci consente di aggiungere indici ai testi tradotti su mongo, come

ensureIndex({title.texts})

Possiamo anche avvolgere il codice per ottenere testo in una lingua specifica in una classe.

    
risposta data 31.05.2013 - 15:32
fonte

Leggi altre domande sui tag