{"MyCollectionAttribute": 12345} のような int 属性値を含む要素を持つ mongodb コレクションがあるとします。
Query<T>.
構文を使用して int 内の文字列「234」を検索するにはどうすればよいですか?
今のところ、次のような生のクエリを使用して(ここで説明されているように)動作するようです:
var query = new QueryDocument("$where", "/234/.test(this.MyCollectionAttribute)");
myCollection.Find(query);
正規表現の一致が遅くなるため、値を整数ではなく文字列として直接保存することをお勧めしますか? これらの状況にどのようにアプローチしますか?
編集
コンテキスト: 会社は、数字であるいくつかの内部コードを持つことができます。SQL サーバーでは、データベース レベルでデータの整合性を保つために int 型の列として格納し、次のような方法で linq から sql にクエリを実行できます。
.where(item => item.CompanyCode.ToString().Contains("234"))
このようにして、データベース レベルでのデータの整合性とクエリのタイプ セーフの両方が実現されます。
mongodb を使用してこのシナリオを実装する方法を確認するために質問しました。