在查询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")
构建查询?我个人更喜欢第二种方式,但它更有效吗?
有什么不同吗?我们应该使用哪一个?
假设它们运行在相同的硬件上,查询相同的数据库。
嗯。。。
假设您已将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'}