Jeg vil også gerne indlede dette ved at sige, at lagring af numeriske værdier i din database formateret til præsentation som strenge er en dårlig idé, som du uden tvivl allerede kender.
Med det af vejen, her er den sammenlægning, du leder efter:
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
}
}
}
])
Ideen er at erstatte $
og ,
med tomme strenge og støb derefter de resulterende strenge til heltal. Fra det tidspunkt er det bare et simpelt spørgsmål om at matche de numeriske værdier.Legeplads:https://mongoplayground. net/p/YU65M-q1QCM