Mongo中的聚合查询

3

有没有办法告诉Mongo在达到某个长度时返回文档,例如,我有一个音频文件集合,在这个集合中

audio : {
        name: string;
        length: long;
        releaseDate: long
}

我可以查询一个列表中的所有音频,使其按发布日期排序,并且满足200>=总长度>=100 [列表中音频文件长度之和]。


3
你可以用MapReduce实现这个。 - Sergio Tulentsev
1个回答

7

在Mongo中最简单的方法是让你的客户端程序手动迭代游标,并在条件完成时停止。这里有一个使用mongo shell的例子:

cursor = db.audio.find().sort( { releaseDate: -1 } )

var len = 0
while ( (len < 100) && cursor.hasNext() ) {
    record = cursor.next()
    len += record.length
    printjson(record)
}

我希望这对你有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接