mongodb C# V2:不同过滤方法的影响是什么

mongodb C# V2: What is the impact of the different Filter methods

据我所知,您可以使用 FindAsync 查询 mongodb:

现在:

  1. 搜索过程中的性能或文档加载方式是否存在差异?
  2. 有推荐的搜索方式吗?
  3. 查询嵌套文档的最佳方式是什么?
  1. 是的,有区别。 Linq 是性能最差的,但通常是最灵活和最安全的。接下来是 lambda 表达式,然后是过滤器,然后是第四个选项,即简单地使用 BsonDocument 并直接构造 mongodb 查询条件。您选择的内容需要符合您的方法和绩效标准。大多数时候,LINQ 的开销不足以放弃类型安全。

  2. 没有

  3. 使用上面4种方法之一。在数组上,您可能希望使用 $elemMatch operator。请记住,嵌入式文档只是简单地嵌入到存储的父文档中。应该不会有很多时候您需要嵌入文档而不是父文档。如果这种情况经常发生,您可能会考虑将嵌入的文档放入它们自己的集合中。