Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

265
Visualizações
RavenDB no puede realizar búsquedas con el operador AND en nodejs

¿Cómo puedo realizar una búsqueda con el operador 'Y' a través de RavenDB?

Según los documentos, está escrito que necesito agregar la enumeración del operador ("Y" \ "O") como el tercer parámetro de la función de búsqueda. https://ravendb.net/docs/article-page/4.0/nodejs/client-api/session/querying/how-to-use-search

Por alguna razón, el operador AND no funciona y me da resultados OR por defecto.

Ejemplo:

Colección de usuarios:

 users/1-A: { firstName: 'Joe', lastName: 'Allen' } users/2-A: { firstName: 'Joe', lastName: 'Biden' }

La llamada al cuervo:

 session.query({ collection: 'Users' }) .search('firstName', 'Joe', 'AND') // search with AND operator .search('lastName', 'Biden') .all()

La llamada anterior devuelve ambos documentos. ¿Cuál debería ser la sintaxis apropiada para eso?

Gracias

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puede encontrar ejemplos detallados y explicaciones paso a paso en las siguientes demostraciones de RavenDB :

https://demo.ravendb.net/demos/csharp/text-search/fts-query-search-basics https://demo.ravendb.net/demos/csharp/text-search/fts-query-search-operators

Entonces, esto aquí arriba es actualmente solo para el cliente C # (las demostraciones de nodeJS están por determinar)

Al usar 2 métodos de búsqueda separados :
Entonces la otra respuesta aquí, sobre el uso de andAlso , es correcta

Cuando se utiliza un método de búsqueda único :
Usar AND/OR es relevante solo cuando tiene 2 o más términos dentro del mismo método de búsqueda .

es decir:
.search('firstName', 'John Doe', 'AND')
testamento Y ambos términos (John && Doe)

.search('firstName', 'John Doe', 'OR')
será O los resultados (John || Doe)

over 4 years ago · Santiago Trujillo Relatório

0

Así que encontré una solución para node.js. La enumeración "AND" como tercer parámetro no me funcionó (según esta página: https://ravendb.net/docs/article-page/4.0/nodejs/client-api/session/querying/how-to- uso-búsqueda ).

Encontré otra página: https://ravendb.net/docs/article-page/4.0/nodejs/indexes/querying/searching

Que usa la función andAlso() en la consulta para usar el operador "AND" y funciona.

Ejemplo:

 const joeBiden = session.query({ collection: 'Users' }) .search('firstName', 'Joe') .andAlso() .search('lastName', 'Biden') .all()

Esto devolverá solo el documento de Joe Biden.

Tenga en cuenta que devuelve una promesa.

** Raven generará un error si llama a la función andAlso y no realiza ninguna consulta después, por lo que si recorre los posibles términos de búsqueda, recuerde excluir la función andAlso en la última búsqueda.

 const joeBiden = session.query({ collection: 'Users' }) .search('firstName', 'Joe') .andAlso() .search('lastName', 'Biden') .andAlso() // this line will cause Raven to throw an error .all()
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda