我正在應用查詢來獲取小于等于 9 的記錄,MongoDB中的價格存盤為字串。
所以每當我像這樣應用過濾器時:
filterDefinition&= Builders<DM.Content>.Filter.Lte(x => x.Price, "9");
它將回傳小于 9 的記錄以及大于 9 的記錄。
任何人都可以提出什么問題嗎?
uj5u.com熱心網友回復:
我認為您不應該使用$lte比較運算子來比較不準確的字串資料型別中的值。
相反,將price欄位轉換為數字資料型別,然后進行比較。
在 MongoDB 查詢命令中:
{ $expr: { $lte: [ { $toInt: "$price" }, 9 ] } }

結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/414146.html
標籤:
