假设类似于嵌套表达式
其中a = 1 AND(b = 4 OR b = 5)
如何使用多个Builders对象并从这样的表达式构建一个完整的过滤器?
我使用的是最新版本的Mongo C#驱动程序,它使用了大量的Async和builder模式.这很好.我试图将SQL where子句转换为Mongo FilterDefinition对象.
知道如何处理"包含"?
喜欢:
where x contains 'ABC'
Run Code Online (Sandbox Code Playgroud) 一般计数查询将执行a
int count = collection.Find(filter).Count();
Run Code Online (Sandbox Code Playgroud)
现在按照过滤器加载所有记录,所以我说有100万条记录,其中有50万条与我的过滤器匹配,所以我的集合已经填充了0.5个文档.如果你想要这些文件,这已经足够了,但是如果你只是想知道计数而不是真的需要这些文件,那就好了.
我可以这样做吗?
int count = collection.Find(filter).SetLimit(1).Count();
Run Code Online (Sandbox Code Playgroud)
这给了我与第一个表达式相同的计数,但我希望内存不会被用作第一个表达式,帮助我知道找到"计数"而不加载所有文档的正确方法.谢谢.
出于调试目的,我需要将 FilterDefinition 打印为可读字符串。我已经尝试过 .ToString() 这对打印类型信息没有帮助。
如果我什至可以打印一些可读的表示,那就太好了。
谢谢。