मैं यह कहकर इसकी प्रस्तावना करना चाहूंगा कि आपके डेटाबेस में संख्यात्मक मानों को स्ट्रिंग के रूप में प्रस्तुत करने के लिए स्वरूपित करना एक बुरा विचार है, जिसे आप निस्संदेह पहले से जानते हैं।
उस रास्ते से हटकर, यहां वह एकत्रीकरण है जिसकी आप तलाश कर रहे हैं:
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
}
}
}
])
विचार $
. को बदलने का है और ,
खाली तारों के साथ और फिर परिणामी तारों को पूर्णांक में डालें। उस बिंदु से, यह संख्यात्मक मानों के मिलान का एक साधारण मामला है। खेल का मैदान:https://mongoplayground। नेट/पी/YU65M-q1QCM