MongoDB 光标起点和之前的方法?

MongoDB cursor starting point and previous method?

这里 Mongo 有点新。我想使用 find() return collection 的子集,但来自指定的 "starting point"。我有一个 dictionary-like 文件列表,我 return 通过 sortlimit 参数按字母顺序 return 分块,但它总是从 [= 的开头开始31=]。

我希望能够向 find() 方法添加一个 "starts with" 参数,这样,例如,如果我查询字母 "h",它将 return 所有文档但第一个 returned 是第一个以 "h" 开头的文档。使用 next() 最终会 return 以 "i"、"j"、"k" 等开头的文档。我也无法找到任何用途或技巧来允许 "previous()" 方法与 next() 相反。我想使用 "previous()"(或任何名称)到 return 以 "g"、"f" 开头的文档,一直回到collection。

我找对树了吗?这似乎是数据库的一个非常明显的功能,但我还没有找到任何示例或其他提及使用 Mongo 的方法。

光标的起点只是结果集中的第一个文档,它基于查询的过滤和排序。

因此,如果您有一个包含 name 字段的文档集合,您可以使用 $gte 获取名称以 'h' 开头的文档运算符,然后按 name:

升序排序
db.test.find({name: {$gte: 'h'}}).sort({name: 1})

现在,游标只能向前移动,所以如果你想向相反的方向移动,你必须使用一个新的查询来翻转:

db.test.find({name: {$lt: 'h'}}).sort({name: -1})