在查询MongoDB时,我们应该使用Query还是Query<;T>;

本文关键字:Query gt 还是 lt MongoDB 查询 我们 | 更新日期: 2023-09-27 18:25:25

我正在寻找使mongo查询更快、更高效的方法。

我们已经使用GetCollection<T>("CollectionName")获得集合。

但是,我们应该使用Query.EQ("fieldname", "fielddata")还是Query<t>.EQ(x => x.FieldName, "fielddata")构建查询?我个人更喜欢第二种方式,但它更有效吗?

有什么不同吗?我们应该使用哪一个?

假设它们运行在相同的硬件上,查询相同的数据库。

在查询MongoDB时,我们应该使用Query还是Query<;T>;

嗯。。。

假设您已将T.FieldName属性映射到camelBase"FieldName",Query.EQ(x=>x.FieldName,"fieldData")和Query.EQ。

考虑到这一点,当然不使用泛型会带来更快的体验。它必须做更少的工作。使用键入的表单意味着我们需要找到映射信息并应用它

但是,除非你每秒要做数百万件这样的事情,否则这里的速度增长在很大程度上是不明显的,这可能会被满足查询服务器端的网络和mongo所掩盖。最好的办法是测量它。

最终,通用表单存在的原因是,您不必到处都有映射信息。

它们之间没有区别Mongo引擎的作用与Query<t>.EQ(x => x.FieldName, "fielddata")Query.EQ("fieldname", "fielddata")相同,最终两者都将转换为Bson文档作为{ 'FieldName', 'fielddata'}