Chciałbym utworzyć zapytanie MongoDB dla dokumentów na podstawie wyrażenia regularnego, które kontempluję. Dla np Mam skonstruował prosty regex następująco który jest kombinacją losowo litery i liczby losowej w NodejsJak używać zmiennej regex w zapytaniu do MongoDB
var randnum = Math.floor((Math.random() * 10) + 1);
var alpha = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','Y','Z'];
var randletter = alpha[Math.floor(Math.random() * alpha.length)];
var val = randletter + randnum + '.*;
Próbowałem różnych kombinacji dla zmiennej regex jak
var stream = collection.find({"FirstName": /val/).stream();
&&
var stream = collection.find({"FirstName": /$val/).stream();
&&
var stream = collection.find({"FirstName": {$in : [{$regex:val}]}}).stream()
&&
var stream = collection.find({"FirstName": {$in : [{$regex:$val}]}}).stream()
Żadne o to nie działa. Jednak gdy piszę faktyczne wyrażenie regularne, otrzymuję rekordy np.
var stream = collection.find({"FirstName": /J.*/).stream();
Każda pomoc zostanie doceniona.
Dzięki Ganesh
Czarodziej, dzięki. Jednak nie wydawało się to działać .var stream = collection.find ({"FirstName": {$ regex: val}}). Stream(); stream.on ("dane", funkcja (element) results.push (element); –
Wystąpił błąd lub po prostu nie można uzyskać oczekiwanego rezultatu? Przykład dokumentu przechowywanego w bazie danych może być pomocny – Wizard