2017-08-01 1 views
0

Je cherche à gérer les données de localisation (localisation) dans MongoDB quelle serait la meilleure pratique pour gérer les paramètres régionaux.Gestion des paramètres régionaux dans MongoDB

Pour plus de clarté considèrent un document:

`{ 
    "_id" : ObjectId("595a05f2a5ace827b4434d94"), 
    "name" : "Broadway Center", 
    "url" : "bc.example.net" 
}` 

Si je veux avoir une valeur locale pour le nom & URL (jp_JP, en_US) le document présumé sera

`{ 
    "_id" : ObjectId("595a05f2a5ace827b4434d94"), 
    "locale" [{ "name" : "Broadway Center", 
    "url" : "bc.example.net"}, 
    {name" : "ブロードウェイセンター", 
    "url" : "bc.example.net/jp"}] 
}` 

Ici, je veux savoir quelle est la bonne façon d'accomplir cela.

+0

Lire [demander], définir "gérer les paramètres régionaux". – CodeCaster

Répondre

0

Ceci est ma suggestion. Je ne suis pas au courant du cas d'utilisation complet, mais je pense que de cette façon, vous pourriez réduire les frais généraux au minimum. Voyez comment dans votre suggestion vous avez déjà "bc.example.net" deux fois en db. Je pense que ce n'est pas nécessaire.

Info Je je suggère cette approche:

public enum LocaleEnum 
{ 
    En = 1, 
    Jp = 2 
} 

public class LocalDoc 
{ 
    [BsonId] 
    public ObjectId mongoId { get; set; } 
    public string host { get; set; } 
    public Dictionary<LocaleEnum, string> locale { get; set; } 

} 

Vous pouvez stocker "bc.example.com" à l'hôte variable et méthode qui ont construit l'URL complète de ENUM et hôte (string concat). D'autre part, vous pouvez facilement interroger tous les noms de locale Jp. En outre, vous êtes de type sécurisé car vous utilisez des enums comme clés.

Si vous pensez que cette solution n'est pas adaptée à votre situation, veuillez nous fournir plus d'informations et de restrictions et nous pouvons trouver une meilleure solution.

À la votre!