我的資料庫中有這些資料(此處僅提供相關部分):
[
{
"geojson": 5,
"entity_status_update": "2021-12-28T10:16:58.000 00:00"
},
{
"geojson": 7,
"entity_status_update": "2021-12-03T10:16:58.000 00:00"
},
{
"geojson": 2,
"entity_status_update": "2021-11-08T10:16:58.000 00:00"
}
]
我正在嘗試添加一個名為的新欄位deadline,該欄位應等于entity_status_update geojson天。我正在使用$dateAddmongodb 的方法進行添加。我的問題是我找不到days_to_add在查詢中使用的方法。我認為原因是,它還處于$project階段。
[
{
"$project": {
"days_to_add": "$geo_json", // use this
"deadline": {
"$dateAdd": {
"startDate": "$entity_status_update",
"unit": "day",
"amount": "$days_to_add" // in here
}
}
}
}
]
我怎樣才能做到這一點?
PS我不能直接geojson在計算中使用。
uj5u.com熱心網友回復:
你可以添加days_to_addusing$addFields然后在你的$project舞臺上使用它
mongoplayground
db.collection.aggregate([
{
"$addFields": {
"days_to_add": "$geojson"
}
},
{
"$project": {
"days_to_add": 1,
"deadline": {
"$dateAdd": {
"startDate": "$entity_status_update",
"unit": "day",
"amount": "$days_to_add"
}
}
}
}
])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/431844.html
