Consulta de MongoDB para que coincida con las palabras separadas por el espacio -- java campo con ajax campo con mongodb campo con servlets campo con pattern-matching camp Relacionados El problema

Mongodb query to match words separated by space


0
vote

problema

Español

Estoy implementando la función Auto-completa con AJAX, Servlet y Mongodb. En este momento, he implementado una lógica que parece estar trabajando parcialmente

Ejemplo:

En la base de datos si tengo los siguientes productos

   1. Xbox Amazon  2. Amazon xyz   

Cuando el usuario ingresa ama , el resultado debe contener ambos productos. Pero estoy recibiendo solo Amazon xyz .

Esta es la lógica que he escrito en Java,

          DBCollection products = db.getCollection("Products");         BasicDBObject dbObj = new BasicDBObject();         dbObj.put("modelName",  Pattern.compile("^"+request.getParameter("startswith"),Pattern.CASE_INSENSITIVE));         DBCursor cursor = products.find(dbObj);   
Original en ingles

I am implementing auto-complete feature using ajax, servlet and mongodb. Right now, I have implemented a logic which seems to be working partially

Example:

In database if i have following products

 1. Xbox Amazon  2. Amazon xyz 

When user enters ama, the result should contain both the products.But I am getting only Amazon xyz.

This is the logic I have written in java,

        DBCollection products = db.getCollection("Products");         BasicDBObject dbObj = new BasicDBObject();         dbObj.put("modelName",  Pattern.compile("^"+request.getParameter("startswith"),Pattern.CASE_INSENSITIVE));         DBCursor cursor = products.find(dbObj); 
              
 
 

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Puede usar function Get-LastLinesNew { $v = [System.IO.File]::ReadAllText("C:BlueIrislog202011.txt") return ($v) } 111111111 (Límite de la palabra) En lugar de function Get-LastLinesNew { $v = [System.IO.File]::ReadAllText("C:BlueIrislog202011.txt") return ($v) } 2 para su caso.

  function Get-LastLinesNew {   $v = [System.IO.File]::ReadAllText("C:BlueIrislog202011.txt")   return ($v) } 3  

Esto le permitirá buscar palabras que no son function Get-LastLinesNew { $v = [System.IO.File]::ReadAllText("C:BlueIrislog202011.txt") return ($v) } 4 y tampoco coinciden con cadenas que contienen function Get-LastLinesNew { $v = [System.IO.File]::ReadAllText("C:BlueIrislog202011.txt") return ($v) } 5 como parte (por ejemplo: function Get-LastLinesNew { $v = [System.IO.File]::ReadAllText("C:BlueIrislog202011.txt") return ($v) } 6616 no se devuelve)

 

You can use \b (word boundary) in place of ^ for your case.

dbObj.put("modelName",  Pattern.compile("\\b"+request.getParameter("startswith"),Pattern.CASE_INSENSITIVE)); 

This will allow you to search on words that are not start of the strings and also does not match strings which contain ama as a part (Eg: Obama is not returned)

 
 
 
 
0
 
vote

Use solo la cadena de búsqueda como patrón y funcionará en este caso. La razón por la cual el patrón que creó no es funcionando es que ^ significa que la cadena debe comenzar con el siguiente patrón.

 

Use just the search string as pattern and it will work in this case. The reason why the pattern you created isn't working is that ^ means the string should be starting with the following pattern.

 
 
   
   

Relacionados problema

1  ¿Puedo usar tipos abstractos en la coincidencia de clases de casos?  ( Can i use abstract types in matching of case classes ) 
O, en otras palabras: ¿Puedo verificar con coincidir si los elementos en una tupla son de la misma clase de caso, a pesar de tener valores diferentes en sus c...

4  Reemplace el soporte cuadrado usando PowerShell  ( Replace square bracket using powershell ) 
Si tiene un nombre de archivo como "Minutos del comité [octubre de 2010] - HQ.DOC", ¿cómo obtiene PowerShell para reemplazar los corchetes? Lo siguiente no fu...

2  Bash Scripting: ¿Cómo cambio el nombre de los archivos para eliminar los caracteres numéricos al principio?  ( Bash scripting how do i rename files to remove numeric characters at the begin ) 
mv comando no acepta un patrón que coincide como grep! ¿Cuál es la buena manera de manejar esto y un tipo de operaciones similar? ...

0  Patrón de búsqueda grep  ( Pattern searching grep ) 
Sé que hay muchas respuestas, pero aún no voy a encontrar una que responda a mi pregunta: ¡Ojalá alguien pueda ayudar! Tengo un archivo de configuración q...

1  Patrón de regex para que coincida con una cadena  ( Regex pattern to match a string ) 
Estoy buscando un patrón regex que coincida con una cadena. Una cadena, definida como cualquier cosa en las cotizaciones. Lo que estoy tratando de hacer es an...

1  Cómo afirmar dos mapas en las pruebas de controlador de Phoenix con un patrón de coincidencia  ( How to assert two maps in phoenix controller testing with pattern matching ) 
En mis pruebas de controlador de Phoenix, estoy haciendo algo como esto, describe "update/2" do setup [:create_user] test "Edits, and responds with the...

0  Números de coincidencia condicional de la cadena  ( Conditionally matching numbers from string ) 
Tengo una cadena de números formados de lo mismo: 24_1_1_1_1_1_12_1_1_13_1_1 subrayece ser espacios Necesito tomar 3 números. El primer número en es...

0  Añadir un caracteres nulos a una tupla en regex  ( Add a null caracter to a tuple in regex ) 
Tengo este patrón w+=([ws]+.*?)[,]] Guardado en [ https://regex101.com/r/ui3uhd/1] [Enlace] y quiero capturar también el caracterismo nulo para poner en ...

3  ¿Cómo coincidir para una opción con campos múltiples?  ( How to match for an option with multiple fields ) 
¿Cómo igualo a una opción con múltiples campos? Tengo el siguiente código: let opt_windowrecv = glfw_context.create_window(1280, 720, "Hello World!", glfw:...

4  Regex solo coincide después de una cierta cadena  ( Regex only match after a certain string ) 
Espero igualar múltiples nombres dentro de un documento, pero solo coinciden con los nombres después de una cierta cadena. Por ejemplo, el documento: Nomb...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos