ऐसा लगता है {"name": "sitt"}
हमेशा सत्य . का समाधान करता है . इसके बजाय आपको **$eq**
. का उपयोग करना चाहिए इसे काम करने के लिए ऑपरेटर।
यह भी ध्यान दें कि आपका **$match**
चरण को बहुत सरल किया जा सकता है क्योंकि आपके 3 भाव इसके बराबर हैं
{$match: {name: /sitt/i}}
तो आपकी क्वेरी बन जाती है:
db.getCollection('tags').aggregate([
{
$match:{
name:/sitt/i
}
},
{
$project:{
name: 1,
score:{
$switch:{
branches:[
{
case:{
$eq:[
"$name",
"sitt"
]
},
then:100
}
],
default:50
}
}
}
}
])