获取下一个和上一个文档

时间:2013-03-30 16:44:29

标签: mongodb

在mongo集合中,我有一个单词列表(数百万字)。

{word:'a'}
{word:'b'}
{word:'x'}
{word:'y'}
{word:'z'}

我需要获得一个词的词汇邻接(下一个和前一个)。我正在寻找最有效的方法。

1 个答案:

答案 0 :(得分:2)

为什么不简单地执行两个查询?

第一个用'word>寻找文件“YOURWORD”',用'word'(asc)排序,限制为1,然后第二个用'word< “YOUTWORD”',按'单词'(desc)排序,再次使用限制1。

我猜你在这个领域有一个索引,所以它应该是非常高效的。

这是一个代码示例:

var prev = db.words.find({"word": {$gt: "YOURWORD"}}).sort({"word": 1}).limit(1);
var next = db.words.find({"word": {$lt: "YOURWORD"}}).sort({"word": -1}).limit(1);