2016-06-22 9 views
1

$cond in mongodb wie folgt definiert ist:Boolescher Ausdruck mit String-Vergleich in Mongodb?

$cond: { if: { $gte: [ "$qty", 250 ] }, then: 30, else: 20 } 

Aber können wir tun, dass für einen String? Ich mag String-Wert in einem Dokument mit regex vergleichen, so etwas wie dies funktionieren kann:

$cond: { if: { $match: [/sam/, "$name"] }, then: 30, else: 20 } 

/sam/ ist ein regulärer Ausdruck und "$name" ist das Feld, das ich vergleichen möge. Als Randnotiz wird dieser Ausdruck in die Gesamtpipeline aufgenommen.

Antwort

0

Nein, das ist momentan nicht möglich und ist seit langem eine offene feature request.
Je nach Ihren Bedürfnissen können Sie möglicherweise Ihre Sachen mit $substr

+0

$ regexmatch in diesem Beispiel eng zusammenpassen, was ich brauche. Ich denke, ich brauche $ substr – DennyHiu

Verwandte Themen