如何将PostgreSQL查询更改为mongodb bson调用?我在http://archives.postgresql.org/pgsql-general/2011-10/msg00157.php列出了相同的用例我想通过使用lag或lead之类的东西来计算两个日志条目之间的增量时间。在mongodb中有什么类似于Postgres的lag / lead语法吗?
select
index,
starttime,
endtime,
starttime - lag(endtime) over(order by starttime asc) as delta
from test
http://www.postgresql.org/docs/8.4/static/functions-window.html
我正在查看http://www.mongovue.com/2010/11/03/yet-another-mongodb-map-reduce-tutorial/,似乎 map / reduce / finalize 应该这样做。 映射 id,开始和结束时间, reduce 什么也不做,然后在期间对其自身(双for
s)进行内连接完成。我几乎可以,有点,有点,看到它......
答案 0 :(得分:1)
这是您在应用程序中必须执行的操作。现在,mongoDB不支持这样的任何内容。
答案 1 :(得分:0)
您可以将某些窗口函数重写为子查询。看看在聚合框架中是否可行。此子查询应在完成过滤和分组之后。
Couchbase将具有标准的窗口功能。 https://blog.couchbase.com/on-par-with-window-functions-in-n1ql/