0

我有以下数据:

{ _id: "aaa" }
{ _id: "aab" }
{ _id: "aav" }
{ _id: "baa" }
{ _id: "bac" }
{ _id: "bad" }

我想让我的光标,比如说,文档开始b并迭代到最后。

伪代码

cursor.offset(_id: "b").each{ |doc| puts doc }
#=> { _id: "baa" }
#=> { _id: "bac" }
#=> { _id: "bad" }

就 MongoDB 在 B-Tree 中存储索引而言,它应该以某种方式成为可能:)

4

2 回答 2

2

只需搜索所有文档 >= "b":

db.collection.find( { _id: { $gte: "b" } } );

然后遍历结果集。

于 2013-07-11T11:35:42.880 回答
1

@Derick 的回答很棒。另一种选择是使用$regex.

db.collection.find({_id: {$regex: "^b"}})

注意: $regex减少成$gte/$lte查询是否^使用。

于 2013-07-11T12:03:26.833 回答