【问题标题】:Multi Collation in MongoDBMongoDB 中的多重排序规则
【发布时间】:2018-03-10 22:35:53
【问题描述】:

假设有一个名为“Test”的集合,其中有一列“Name”,我用 3 种不同的语言(ja、th、ru)恢复名称。

在支持所有 3 种语言的 MongoDB 中,在 Name 列上声明 3 个排序规则的最佳方法是什么?在集合或索引上创建排序规则更好吗?如何实现?

我知道可以将 simple 声明为 locale,但这不是比较的最佳选择。如果我不想将 simple 用作 locale,我该如何为集合/索引/...声明多重排序规则以支持所有 3 种语言?

【问题讨论】:

    标签: c# mongodb multilingual collation


    【解决方案1】:

    我现在正在研究 mongo 中的排序规则,所以我可能没有所有信息,但基本上如果您希望对字符串的查询以不同的语言工作,您可以将排序规则作为参数传递给查询:

    db.Docs.find({ Name: "My Name"}).collation( { locale: 'en', strength: 2 } )

    因此您可以每次指定不同的语言环境。您还可以创建具有特定语言环境的索引,这只是出于性能原因需要。 Mongo 会找到与您的查询语言环境匹配的适当索引。但是,由于您的数据库中可能有多种语言,因此您需要为每种语言/语言环境创建一个单独的索引,并且创建多个索引通常并不理想。看看他们有详细信息的 mongo 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      相关资源
      最近更新 更多