Tôi cũng muốn mở đầu điều này bằng cách nói rằng việc lưu trữ các giá trị số trong cơ sở dữ liệu của bạn được định dạng để trình bày dưới dạng chuỗi là một ý tưởng tồi mà bạn chắc chắn đã biết.
Với điều đó, đây là sự kết hợp bạn đang tìm kiếm:
db.collection.aggregate([
{
"$project": {
"AppraisedValueDisplay": {
$replaceAll: {
input: "$AppraisedValueDisplay",
find: {
$literal: "$"
},
replacement: ""
}
}
}
},
{
"$project": {
"AppraisedValueDisplay": {
"$toInt": {
$replaceAll: {
input: "$AppraisedValueDisplay",
find: ",",
replacement: ""
}
}
}
}
},
{
$match: {
AppraisedValueDisplay: {
$gt: 30000,
$lt: 40000
}
}
}
])
Ý tưởng là thay thế $
và ,
với các chuỗi trống và sau đó ép các chuỗi kết quả thành số nguyên. Từ đó, việc khớp các giá trị số chỉ là một vấn đề đơn giản. net / p / YU65M-q1QCM