在MongoDB和Node.js中,查询特定值而不是整个文档对速度有很大影响吗?
例如,当我只需要用户的特定值时,我应该使用特定调用,还是可以检索用户的整个文档?谢谢。这个问题的答案相当主观,取决于各种因素,如:在MongoDB和Node.js中,查询特定值而不是整个文档对速度有很大影响吗?,node.js,mongodb,Node.js,Mongodb,例如,当我只需要用户的特定值时,我应该使用特定调用,还是可以检索用户的整个文档?谢谢。这个问题的答案相当主观,取决于各种因素,如: MongoDB集合中文档的平均大小 网络速度和正常带宽使用参数 数据库查询的服务器方法的结构 如果您的文档相当大,那么完全获取它将导致不必要的网络开销——与仅获取所需密钥相比。如果你不小心,这会显著影响你的应用程序性能 根据您的MongoDB驱动程序,您可以使用投影参数来选择所需的字段。e、 g database.collection('user').findO
- MongoDB集合中文档的平均大小
- 网络速度和正常带宽使用参数
- 数据库查询的服务器方法的结构
database.collection('user').findOne({ _id: 'someid' }, { _id: 0, username: 1 },
function(err, res) {
if(err) return console.log(err);
callback(res);
});
这将只返回
用户的用户名
,并相应减少网络开销。这个问题的答案相当主观,取决于各种因素,如:
- MongoDB集合中文档的平均大小
- 网络速度和正常带宽使用参数
- 数据库查询的服务器方法的结构
如果您的文档相当大,那么完全获取它将导致不必要的网络开销——与仅获取所需密钥相比。如果你不小心,这会显著影响你的应用程序性能
根据您的MongoDB驱动程序,您可以使用投影参数来选择所需的字段。e、 g
database.collection('user').findOne({ _id: 'someid' }, { _id: 0, username: 1 },
function(err, res) {
if(err) return console.log(err);
callback(res);
});
这将只返回用户的用户名
,并相应减少网络开销