我需要帮助来构建一个查询来减去mongodb中的两个日期。
我有一些如上所述的文件:
{"_id" : "32472034809", "center": "102030", dateArq : 141010, inDate : "ISODate("2014-06-06T02:57:19.000-03:00)", biDate : ISODate("2014-06-07T02:57:19.000-03:00)"}
我试图写一个查询
db.teste.aggregation([{$match : {dateArq : 141010}},{$project : {$subtract : ["$biDate" "$inDate"]}}])
事实上,我想这样做:对于每个_id,我想得到biDate - inDate,因为我需要看看dateArq是否保持在一个常量行中。
在Oracle中我做了
select dateArq, (biDate - inDate) diff from teste where dateArq = 141010
寻求帮助
答案 0 :(得分:1)
提供的文档和聚合管道存在语法问题,您需要为$subtract
的结果添加字段名称,否则您的管道适用于我:
> db.test.findOne()
{
"_id" : "32472034809",
"center" : "102030",
"dateArq" : 141010,
"inDate" : ISODate("2014-06-06T05:57:19Z"),
"biDate" : ISODate("2014-06-07T05:57:19Z")
}
> db.test.findOnedb.test.aggregate([
{ "$match" : { "dateArq" : 141010 } },
{ "$project" : { "dateDiff" : { "$subtract" : ["$biDate", "$inDate"] } } }
])
{ "_id" : "32472034809", "dateDiff" : NumberLong(86400000) }