MongoDb 对 ObjectId 的范围查询

Cha*_*ois 3 mongodb objectid

我想知道是否有人知道是否可以使用如下查询来查询 _id 字段:

{$lte : ObjectId(....) , $gte : ObjectId(...)
Run Code Online (Sandbox Code Playgroud)

, 代替

{$in : [ObjectId( )...lots of ObjectId.....]}
Run Code Online (Sandbox Code Playgroud)

如果性能有所提高(我认为是这样..)

谢谢

Abh*_*mar 6

{$lte : ObjectId(....) , $gte : ObjectId(...)
Run Code Online (Sandbox Code Playgroud)

是的,有这样的查询 {_id : {$lte : ObjectId(....) , $gte : ObjectId(...)} }

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