首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MongoDB中计算相邻文档之间的时间?

如何在MongoDB中计算相邻文档之间的时间?
EN

Stack Overflow用户
提问于 2013-02-15 12:54:12
回答 2查看 182关注 0票数 0

我有一个mongodb数据库,里面有数百万个代表事件的文档。每个文档都有时间戳。我想评估事件之间经过的时间。较长的时间比较短的时间更重要。怎样才能有效地做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-17 05:44:54

我已经能够让以下代码正常工作。

代码语言:javascript
复制
db.main.find()
    .forEach(function(doc){
        //print('got1 id: ' + doc._id);
        db.main.find({'_id': {$gt: doc._id}, user: doc.user})
               .sort({'_id': 1})
               .limit(1)
               .forEach(function(doc2){
                    //print('got2 id: ' + doc2._id);
                    print(doc._id + ': ' + (ISODate(doc2.startT).getTime() - ISODate(doc.startT).getTime()));
                })
        }
    );

也许还有其他方法可以解决这个问题,我也会感兴趣,因为我有很多东西要学。

票数 0
EN

Stack Overflow用户

发布于 2013-02-15 12:59:40

我想一个简短的答案是,这可能不是你可以使用查询来计算的东西。您的标记表明您可能正在寻找一个查询来计算此值,但我认为这是不可能的。

听起来像map reduce这样的东西在这里也行不通。

如果你真的需要计算每个事件之间的差异,那么你可能需要研究一下这些值并将结果存储在某个地方。或者,您可以在插入每个新事件并将其存储在某个位置时预先计算它们。

无论如何,听起来你只是需要编写一些东西来计算它自己的议程,并将结果存储在某个地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14888467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档