Domanda

Cerco di scrivere una domanda con Casbah e Salat per interrogare un campo che include parti di un nome. Ho provato a usare un'espressione regolare come questa (all'interno di una salatdao):

val regexp = (""".*"""+serverName+""".*""").r
val query = "serverName" -> regexp
val result = find(MongoDBObject(query))

e con

val regexp = ".*"+serverName+".*"

Il record è in MongoDB e quando lo cerco con il nome completo funziona.

In che modo è il modo giusto per dire a Casbah di cercare una parte della stringa?

Un'altra cosa che vorrei risolvere è la concatenazione delle stringhe per il parametro. Esiste un modo predefinito per sfuggire ai parametri di input con Casbah, quindi il parametro non viene interpretato come un comando JavaScript?

Cordiali saluti, Oliver

È stato utile?

Soluzione

Nella shell MongoDB è possibile trovare i nomi del server contiene la stringa specifica di

db.collection.find({serverName:/whatever/i})

Non ho alcuna esperienza con Casbah, credo che debba essere così. Si prega di testare

val regexp = ("""/"""+serverName+"""/i""").r  
find(MongoDBObject("serverName" -> regexp))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top