私はすべての英語の単語が格納されているmongoデータベースを持っています。 特定の文字だけを含む単語の集合を取得したい。 例:データベース[ash、clash、bash、has] [ash]を要求しています。出力として[has、ash]を取得します。 おそらく速い方法があります、私はいくつかの特別なデータ構造を構築する必要はありません。 私はC#でコード化します。MongoDB:特定の文字のみを含む文字列をフィルタリングするには?
-1
A
答えて
0
あなたはモンゴの.NETドライバを使用している場合は、そのLINQの実装が使用することをまっすぐにする必要があります。これについての詳細はこちらMONGO LINQ通常のIEnumerableをターゲットにするのと同じように(いくつかの例外があります)。
あなたの問題はおそらくlinqを使ってWhere節で使用できるregexを使って解決できます。正規表現はデバッグするのが難しい傾向があります。正しい正規表現が見つかるまで別の例があります(さらに最適化できます)。
private void Test()
{
// fetching from database
// var samples = database.GetCollection<T>"collectionname").AsQueryable<Employee>();
string[] samples = new[] {"nnn", "shhhh", "has", "s", "ash"};
string chars = "ash";
var matches = samples.Where(x => IsMatch(x, chars));
}
private bool IsMatch(string sample, string matchChars)
{
if (sample.Length != matchChars.Length)
return false;
sample = matchChars.Aggregate(sample, (current, c) => current.Replace(c, ' '));
return sample.Trim().Length == 0;
}
0
これをクエリとして試してみてください...私は52Cが含まれているIDを検索しています。
{ "_id": { $regex: '.*\Q52C\E.*', $options: 'i' } }
C#の等価:
await collection.Find(new BsonDocument("_id", new BsonDocument { { "$regex", $".*\Q{YourString}\E.*" },
{ "$options, "i" } })).ToListAsync();
関連する問題
- 1. MongoDB文書で特殊文字を含む文字列を検索する
- 2. 文字を含む列をフィルタリングする
- 3. 特定の文字列のみを含むpandasデータフレームの行の選択(複数の文字列を含む)
- 4. R:特定の文字パターンを含む文字列を削除するには?
- 5. 特殊文字 '/'を含む文字列のJavascript部分文字
- 6. 特定の文字を含む特定の長さの文字列のRegEx
- 7. 文字を含む文字列を含む文字列
- 8. 特定の文字列をフィルタリングする
- 9. 常に特定の文字を含む文字列を生成するpython
- 10. 特定の文字列を含む行全体をフィルタリングする方法
- 11. BASH - 特殊文字を含む文字列を解析する
- 12. SED:特殊文字を含む文字列を挿入する
- 13. 特殊文字を含む文字列を配列
- 14. perl:特殊文字を含む生の文字列を表示
- 15. 文字列と文字列の配列を含むstructオブジェクトのフィルタリング
- 16. StreamReader - 特定の文字列を含む行を読み込む方法は?
- 17. regex - 別の特定の文字列を含む場合を除いて、文字列を含むフィルタ
- 18. 特殊文字を含む文字列の先頭140文字を取得
- 19. パンダ:列に特殊文字を含むファイルを読み取る
- 20. 特定の文字列を含むファイルを移動するバッチスクリプト
- 21. 特定の単語を含む文字列を抽出する
- 22. 特定の文字列を含むExcelファイルを実行する
- 23. 特定の文字列を含むが7番目の文字を含むレコードを返す
- 24. Power BIクエリエディタ:特定の文字列を含む列名のリスト
- 25. 文字を含む特定の文字列にマッチするPythonの再(正規表現)は、ハイフン、数字
- 26. 特殊文字を含むRの文字を置換する
- 27. 特定の文字列を含む行を削除します。
- 28. 名前に特定の文字列を含むMatlab FTPダウンロードファイル
- 29. 特定の文字との間で文字列を読む
- 30. 特殊文字を含むJSON文字列を解析する方法は?