[指南] Mongoose $match 在 aggregation 狀態無法對上 ID

章節連結

Mongoose 作為中介操控 MongoDB 的工具,在進行 Aggregation 相關操作時,會遇上一個偶然狀況:$match 方法無法進行 ID 相同的查找。這邊筆記下緣由和解決方法。
mongoDB


內容

因為 Mongoose 在進行 Query 條件時,會背後自動的將你傳入的 ID 字串進行轉換成 ObjectId。不過在 Aggregation 的場景中,並沒有這個機制,你需要手動的呼叫 Mongoose 內建好的方法,將字串轉換成 ObjectId。

程式碼

寫法為:$match: { <key>: mongoose.Types.ObjectId(<ID字串>)}


Reference

1. Moongoose aggregate $match does not match id’s

按讚加入粉絲團

延伸閱讀