簡體   English   中英

Mongodb在日期上的總匹配

[英]Mongodb aggregate match on dates

我正在運行匯總查詢,經過一些預測,最終得到的文檔看起來像

{ _id: 561bed08f8f068cd237a3dc1,
updateDate: Mon Oct 12 2015 11:25:28 GMT-0600 (MDT),
manager: 561bdd37f8f068cd237a3da2,
viewDate: Mon Oct 26 2015 09:02:57 GMT-0600 (MDT) }

請注意,這些日期是控制台格式的輸出,當使用mongohub檢查時,這些日期看起來像new Date(<timestamp>)

我想匹配updateDate大於viewDate ,所以我有這個匹配項:

$match: {
    updateDate: { "$gt": new Date("$viewDate") }
}

但是,它返回諸如上述文件之類的文檔, updateDate在12號,而viewDate在26號。

我嘗試了一些變體,例如有無new Date()

您不能在此處使用$match運算符。 您需要使用$redact運算符。

db.collection.aggregate([
    { "$redact": { 
        "$cond": [ 
           { "$gt": ["$updateDate", "$viewDate"] }, 
           "$$KEEP", 
           "$$PRUNE"
        ]
    }}
])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM