我有以下数据:
{ _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中存储索引而言,应该可能以某种方式:)
答案 0 :(得分:2)
只需搜索所有文件> =“b”:
db.collection.find( { _id: { $gte: "b" } } );
然后迭代结果集。
答案 1 :(得分:1)
@Derick回答很棒。另一种选择是使用$regex
。
db.collection.find({_id: {$regex: "^b"}})
注意: $regex
如果使用$gte
,请缩减为$lte
/ ^
查询。