首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在查询MongoDB时,我们应该使用查询还是使用Query<T>?

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

Stack Overflow用户
提问于 2014-10-03 15:52:16
回答 2查看 64关注 0票数 0

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

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

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

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-03 17:56:32

它们与Query<t>.EQ(x => x.FieldName, "fielddata")Query.EQ("fieldname", "fielddata")没有区别,最终两者都将转换为Bson文档,成为{ 'FieldName', 'fielddata'}

票数 1
EN

Stack Overflow用户

发布于 2014-10-09 15:09:01

好吧..。

Query.EQ(x => x.FieldName,"fieldData")和Query.EQ( "fieldName“,"fieldData")都将产生相同的json -{ "fieldName":"fieldData”},前提是您已经将T.FieldName属性映射到camelCase“fieldName”。

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

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

最终,泛型表单存在的原因是,您不必在任何地方都拥有映射信息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26182390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档