【发布时间】:2015-04-22 21:47:17
【问题描述】:
我想使用 MongoDB C#/.NET 2.0 驱动程序异步检查 MongoDB 中是否存在文档。我想以考虑性能最大化的方式进行查询。
例如,我们从
db.Collection.CountAsync(filter).Result;
这对性能来说不是很好的做法,尤其是在过滤器可以返回大量文档的情况下。
有点像
db.Collection.FindAsync(filter).Limit(1).Size();
会更好,但 FindAsync 不存在。
此外,我还看到对“字段选择”的引用似乎也可以很好地应用以最小化动态数据量,但 MongoDB 对我来说是新的,所以我还不知道我是否会在不知不觉中成为导致性能下降。
【问题讨论】:
-
如果您包含您尝试过的内容并询问它是否是最好的方法,而不仅仅是询问代码,这将非常有帮助。在这种情况下没关系,但这非常接近更适合 se.CodeReview
-
我想以最大化性能的方式进行查询。这对您意味着什么?在性能方面,您将什么称为“最大化”?请注意,异步查询不会比同步查询“更快”地执行。
-
@Pheonixblade9 你的意思是在帖子中有工作代码,对吧?请注意,CR's Help Center 明确 声明 询问“关于 X 的最佳实践是什么?” 是题外话,因此正如目前所说,这个问题会在 CR 上引起轰动. 合适的是:发布您自己的工作代码,并询问此代码是否符合有关 X 的最佳实践? - 有很大不同;)
-
@Mat'sMug 我的意思是他应该包含工作代码 - 但我不知道“最佳实践”问题与 CR 无关。直到
-
我已经更新了问题。
标签: c# asynchronous mongodb-query