ObjectId上的MongoDb范围查询

ObjectId上的MongoDb范围查询,mongodb,objectid,Mongodb,Objectid,我想知道是否有人知道是否可以用 这样的查询: {$lte : ObjectId(....) , $gte : ObjectId(...) ,而不是 {$in : [ObjectId( )...lots of ObjectId.....]} 如果绩效有所提高(我想是的) 谢谢 是的,有这样的查询{u id:{$lte:ObjectId(…),$gte:ObjectId(…)} 性能取决于您在第一次查询中选择的范围。较小的范围意味着快速响应。对于第二个查询,响应取决于查询中objectid的数量

我想知道是否有人知道是否可以用 这样的查询:

{$lte : ObjectId(....) , $gte : ObjectId(...)
,而不是

{$in : [ObjectId( )...lots of ObjectId.....]}
如果绩效有所提高(我想是的)

谢谢

是的,有这样的查询{u id:{$lte:ObjectId(…),$gte:ObjectId(…)}

性能取决于您在第一次查询中选择的范围。较小的范围意味着快速响应。对于第二个查询,响应取决于查询中objectid的数量和范围。ObjectId值中的碎片越多,可能会导致大量的页面错误

是的,有这样的查询{u id:{$lte:ObjectId(…),$gte:ObjectId(…)}


性能取决于您在第一次查询中选择的范围。较小的范围意味着快速响应。对于第二个查询,响应取决于查询中objectid的数量和范围。ObjectId值的碎片化程度越高,页面错误就越少。

我编辑了阿披舍克的优秀答案,左边是$gte,右边是$lte,因为这是一个包含范围。我在这里也提了一点作为评论,因为这是一个已经有5年历史的解决方案,我的建议可能无法通过审核积压:D感谢你非常有用的回复。我编辑了阿披实的优秀答案,左边是$gte,右边是$lte,因为这是一个包容性范围。我在这里也提了一点作为评论,因为这是一个5年的解决方案,我的建议可能无法通过审核积压:D谢谢你非常有用的回复。
{$lte : ObjectId(....) , $gte : ObjectId(...)