假设我们有一个 mongodb 集合,其中的元素包含一个 int 属性值,例如: {"MyCollectionAttribute": 12345}
如何使用Query<T>.
语法在 int 中搜索字符串“234”?
现在它似乎工作(如解释here)使用原始查询,如:
var query = new QueryDocument("$where", "/234/.test(this.MyCollectionAttribute)");
myCollection.Find(query);
是否最好将值直接存储为字符串而不是整数,因为正则表达式匹配会很慢?你如何处理这些情况?
编辑
上下文:公司可以有一些内部代码是数字。在 sql server 中,它们可以存储为 int 类型的列,以便在数据库级别具有数据完整性,然后使用以下内容从 linq 查询到 sql:
.where(item => item.CompanyCode.ToString().Contains("234"))
这样,数据库级别的数据完整性和查询的类型安全。
我问这个问题是为了看看如何使用 mongodb 来实现这个场景。