说,我们有以下文档(为简单起见省略了其他字段):
array.sort {
guard let leftValue = $0["key"], let rightValue = $1["key"] else {
return false // NOTE: you will need to decide how to handle missing keys.
}
return leftValue.localizedStandardCompare(rightValue) == .orderedAscending
}
我只是想知道是否可以将以下linq翻译成mongodb查询:
{ _id: 1, name: 'a' }
{ _id: 2, name: 'ab' }
{ _id: 3, name: 'abc' }
{ _id: 4, name: 'acde' }
{ _id: 5, name: 'b' }
我希望得到以下输出:
_collection.AsQueryable().Where(m => "abcdef".StartsWith(m.name));
但是我收到一个错误:“不支持的过滤器:\”abcdef \“。StartsWith({document} {name})。”
mongo查询系统是否支持一些合适的替代方案?我应该如何重新编写查询?或者唯一的方法是从mongo中检索所有文档,然后在.net应用程序中过滤它们?
答案 0 :(得分:0)
您可能会发现此答案很有用。它使用正则表达式进行字符串比较。
MongoDB c# driver: Case Insensitive Compare using in or contains on a list using linq