我有一個mongo數據庫,其中都存儲了英文單詞。 我想獲得只包含特定字符的單詞集合。 例如:在數據庫中[ash,clash,bash,has] 要求[灰]我想要[has,ash]作爲輸出。也許有一個快速的方法,我不必建立一些特殊的數據結構。 我將在c#中進行編碼。MongoDB:如何過濾只包含特定字符的字符串?
-1
A
回答
0
如果您正在使用蒙戈的淨驅動程序,然後它的LINQ實現應該是直截了當地使用。更多關於這裏的信息MONGO LINQ然後就像一些普通的IEnumerable一樣。
你的問題可能是使用正則表達式可以解決的,它可以在使用linq的Where子句中使用。正則表達式有一個很難調試的傾向,所以在這裏找到正確的正則表達式是一個替代例子(它可以進一步優化)。
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": { $regex: '.*\Q52C\E.*', $options: 'i' } }
C#等效:
await collection.Find(new BsonDocument("_id", new BsonDocument { { "$regex", $".*\Q{YourString}\E.*" },
{ "$options, "i" } })).ToListAsync();
相關問題
- 1. 在MongoDB上,如何過濾包含字符串數組的字段包含特定字符串的文檔?
- 2. 過濾一個字符串只包含alnum字符+連字符?
- 3. 如何過濾包含特定字符串的整行
- 4. 的grep:過濾掉只包含特定字符
- 5. 過濾包含特定字符串的數據
- 6. 如何替換包含python中特定字符的字符串?
- 7. 如何在iOS中的特定字符後過濾字符串?
- 8. 如何匹配一個特定的字符,只有後面緊跟着包含特定字符的字符串
- 9. 如何拉出線只包含特定的字符串
- 10. 如何檢查一個字符串是否只包含特定字符
- 11. Preapre字符串包含特殊字符
- 12. SQL字符串只包含
- 13. 如何過濾包含特定字符串的日誌文件中的行?
- 14. Makefile:過濾掉包含字符的字符串
- 15. GREP獲得包含特定字符串的所有字符串
- 16. 過濾掉只包含數字和/或標點符號的字符串 - python
- 17. 如何獲取包含在指定字符串中的特定字符串?
- 18. 檢查一個字符串是否只包含特殊字符
- 19. 字符串包含如果我有以下特定字符
- 20. 發現其中id字符串包含特定字符串
- 21. Rails:如何查找包含特定字符串的字段
- 22. 如何解析包含特殊字符的JSON字符串?
- 23. 如何包含在查詢字符串中的特殊字符
- 24. 檢查字符串是否只包含指定的字符
- 25. 不包含特定字符串
- 26. 字符串包含特定文本
- 27. 選擇與包含特定字符串
- 28. Laravel - 獲得包含特定字符串
- 29. 獲取從包含特定字符串
- 30. 尋找forrecords包含特定字符串