2016-04-19 16 views
1

Ich habe ein Problem mit Mongo $ Text $ eine Phrase suchen. Also möchte ich eine $ Suchphrase aus meiner Variable erstellen. $ Suchphrase sollte wie folgt aussehen: "\" Suche \ "". So können wir in Javascript quote und Backslash nur einen weiteren Schrägstrich hinzufügen: '\\\"search\\\"'. Aber wenn wir es irgendwo drucken oder weitergeben, erhalten wir in verschiedenen Umgebungen unterschiedliche Ergebnisse. Im Browser erhalten wir '\"search\"' in Knoten js (5.x) wir erhalten diese '\\"search\\". Was ist da los? Mein endgültiges Ziel ist $ Suchzeichenfolge für die Verwendung in mongoDB $ Textoperator. Vielleicht kann mir jemand dabei helfen oder mit meiner Frage oben.

+0

Vielleicht sollten Sie einen Fall zeigen, den wir reproduzieren können, damit Sie leicht auf den Teil Ihres Code-Prozesses zeigen können, der korrigiert werden muss. Zeigen Sie ein Beispiel dafür, woher Sie die Zeichenfolge senden und wie. –

+0

Sicher. Hier ist ein Beispiel. http://jsbin.com/wagitibeca/edit?js,console und nach dem Versuch, diesen Code in der Browser-Konsole zu setzen. – Errorpro

Antwort

1

(ich weiß, es ist spät, aber ich mag, falls jemand beantworten wird diese Seite Suche nach einem Weg finden, dieses Problem zu lösen)

Sie müssen es mit dem rechten Javascript-Format nicht schreiben. Lassen Sie es, wie es

var search = "generic phrase to search"; 
search = '\"' + search.split(' ').join('\" \"') + '\"'; 
db.collection.find({$text:{$search:search}}, function... 

Hoffe, es ist hilfreich, also in MongoShell

db.collection.find({$text:{$search:'\"search\"'}}, function... 

ist, ist ein guter Weg, um eine generische Zeichenfolge zu nähern.

Verwandte Themen