强制mongo以小写

时间:2015-05-13 13:10:43

标签: c# mongodb mongodb-.net-driver

目前我在插入集合之前调用.toLower():

site.Name = site.Name.ToLower();
collection.Insert(site);

我看到一篇文章(How to force mongo to store members in lowercase?)强制成员名称为小写,但无法找到强制值为小写的信息。

1 个答案:

答案 0 :(得分:0)

这样做,无论是手动还是自动化,都显得相当危险,因为它是一种有损操作。有些情况下,插入数据的转换是合适的,例如,将字符串规范化以便更好地搜索时,但一般来说,我说这是一个坏主意。转换从客户端读取数据或从数据库读取数据。

另一种方法是添加一个计算字段:

public string NormalizedName {
  get { return Name.ToLowerInvariant(); }
  set { } // also hacky,
}

特别是在字符串搜索中,这也可用于删除或替换有问题的UTF-8字符。