sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo Y y NO en MongoDB $ búsqueda de texto

Hay algunas opciones que puede usar con la búsqueda de texto para satisfacer esas necesidades. Considere los siguientes documentos:

{ "text" : "cake" }
{ "text" : "sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale" }
{ "text" : "dress sale" }
{ "text" : "cake sale monday" }

La "lista" predeterminada de palabras es o inclusión, pero si no quiere una y inclusión "citas" las palabras:

db.words.find( { "$text": { "$search": "\"cake\" \"sale\"" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }
{ "text" : "cake sale monday" }

Si desea excluir una palabra y luego el prefijo - :

db.words.find( { "$text": { "$search": "\"cake\" \"sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }
{ "text" : "sale cake" }

Y si quisieras parte de eso como una frase exacta luego "citas" la frase completa:

db.words.find( { "$text": { "$search": "\"cake sale\" -monday" } },{_id: 0})
{ "text" : "cake sale" }

Sin embargo, derivar palabras tiene un problema, así que:

db.words.find( { "$text": { "$search": "test -testing" } },{_id: 0})

En realidad, no devolvería un resultado.

Consulte la documentación en $text operador para ejemplos. No todos están ahí en este momento, pero está mejorando.