Menu Docs

Página inicial do DocsDesenvolver aplicaçõesMongoDB DriversDriver Ruby MongoDB

Pesquisa de texto

O MongoDB forneceíndices de texto para dar suporte à pesquisa de queries no conteúdo da string. Os índices de texto podem incluir qualquer campo cujo valor seja uma string ou uma array de elementos da string.

Observação

O MongoDB Atlas também fornece o Atlas Search , que é uma solução de pesquisa de texto mais poderosa e flexível. O resto desta página discute índices de texto e não Atlas Search.

Para executar uma pesquisa de texto com o driver Ruby, primeiro crie um índice de texto com indexes.create_one(). O seguinte comando cria um índice de texto no campo name da collection restaurants no reconhecimento de data center test .

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
client['restaurants'].indexes.create_one( { :name => 'text' } )

Depois que o índice de texto for criado, você poderá usá-lo como parte de uma query. O código a seguir encontra todos os documentos na collection restaurants que contêm a palavra garden, sem distinção entre maiúsculas e minúsculas.

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
client[:restaurants].find(
{ '$text' =>
{ '$search' => 'garden', '$caseSensitive' => false }
}
).each do |document|
#=> Yields a BSON::Document.
end
← Mapear-Reduzir