我有一個在我的服務器上運行的調度程式,并生成一個沒有每天簽署的藥物串列,這個問題有時會發生,在解決這個問題時,我想創建一個腳本來檢查和洗掉那些生成的重復專案。感謝你的幫助。
這里生成了一些示例日期:我想檢查匹配欄位 [med, time, date] 并只回傳 1 個檔案,然后洗掉所有重復項。
[
{
"_id": ObjectId("6375ea026a0b4e0015d80f77"),
"med": ObjectId("610845e7f5b0e00017754d50"),
"Time": "8:00am",
"Date": "2022-11-16T08:00:00.008 0000"
},
{
"_id": ObjectId("6375ea026a0b4e0015d80fd4"),
"med": ObjectId("61f988e82cf5760018113cee"),
"Time": "7:00am",
"Date": "2022-11-16T08:00:00.008 0000"
},
{
"_id": ObjectId("6375ea026a0b4e0015d80fdd"),
"med": ObjectId("62d1c6e93603ed00177812ee"),
"Time": "6:00am",
"Date": "2022-11-16T08:00:00.008 0000"
},
{
"_id": ObjectId("6375ea02304a870015dfa2ec"),
"med": ObjectId("610845e7f5b0e00017754d50"),
"Time": "8:00am",
"Date": "2022-11-16T08:00:00.005 0000"
},
{
"_id": ObjectId("6375ea02304a870015dfa349"),
"med": ObjectId("61f988e82cf5760018113cee"),
"Time": "7:00am",
"Date": "2022-11-16T08:00:00.005 0000"
},
{
"_id": ObjectId("6375ea02304a870015dfa352"),
"med": ObjectId("62d1c6e93603ed00177812ee"),
"Time": "6:00am",
"Date": "2022-11-16T08:00:00.005 0000"
}
]
預期輸出:(注意:時間和日期不同)
[
{
"med": ObjectId("610845e7f5b0e00017754d50"),
"Time": "8:00am",
"Date": "2022-11-16T08:00:00.008 0000"
},
{
"med": ObjectId("61f988e82cf5760018113cee"),
"Time": "7:00am",
"Date": "2022-11-16T08:00:00.008 0000"
},
{
"med": ObjectId("62d1c6e93603ed00177812ee"),
"Time": "6:00am",
"Date": "2022-11-16T08:00:00.008 0000"
},
]
這里 Mongodb Playground 用于顯示結果 -> Mongodb Playground
uj5u.com熱心網友回復:
希望這個答案有幫助
注意:- 您的日期在每個物件中都不相同,因此您的預期輸出可能是錯誤的
我附上了帶有代碼的游樂場網址。 https://mongoplayground.net/p/hYrgPd7od02
db.collection.aggregate([
{
"$group": {
"_id": {
med: "$med",
Time: "$Time",
Date: "$Date",
},
"med": {
"$first": "$med"
},
"Time": {
"$first": "$Time"
},
"Date": {
"$first": "Date"
}
}
},
{
"$project": {
_id: 0
}
}
])
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/535908.html
