在MongoDB中处理语言环境



我希望在MongoDB中处理语言环境(本地化(数据 处理区域设置的最佳做法是什么。

为了更清楚起见,请考虑以下文档:

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

如果我想为名称和 URL 提供区域设置值(jp_JP,en_US( 假定文档将是

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

在这里,我想知道实现这一点的正确方法是什么。

这是我的建议。我不知道完整的用例,但我认为这样您可以将开销降至最低。 看看在您的建议中,您如何在数据库中已经两次"bc.example.net"。我认为这是没有必要的。

根据我的信息,我建议这种方法:

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; }
}

您可以将"bc.example.com"存储到主机变量,并具有从枚举和主机(字符串连接(构造完整 Url 的方法。另一方面,您可以轻松查询所有 Jp 语言环境名称。此外,您是类型安全的,因为您使用枚举作为键。

如果您认为此解决方案不适合您的情况,请提供更多信息和限制,我们可以找到更好的解决方案。

干杯!

最新更新