J'utilise Neo4j avec rubis sur des rails et je veux rechercher le nom d'utilisateur avec « LIKE » opérateur « = ~ » .. avec « Où » dans ActiveNode retourner un liste des utilisateurs assortis. Comment puis-je faire cela?Comment utiliser LIKE "= ~" avec neo4j sur Rails?
Répondre
le faire en utilisant une chaîne dans where
puis utilisez un param pour votre regex. Une fois que vous commencez à utiliser une chaîne dans une clause where
, vous utilisez un chiffrement pur, donc http://docs.neo4j.org/chunked/milestone/query-where.html serait bon à lire.
Client.as(:c).where('c.name =~ {name}').params(name: '.h?ristopher')
Si vous voulez une version plus courte, vous pouvez aussi le faire:
Client.where(name: /.h?ristopher/)
Le match Cypher il génère est presque identique, mais que l'on n'utilisera un param. Il est moins sûr pour votre base de données si vous basez votre requête sur des données de formulaire et que vos performances ne seront pas aussi bonnes en raison de la manière dont Neo4j met en cache les chemins de requête.
La méthode find_by fonctionne comme la requête SQL où. Here is the documentation.
Client.find_by user_name: 'Mr Smith'
# => #<Client id: 1, user_name: "Mr Smith">
Client.find_by user_name: 'non_user'
# => nil
merci @ new2code, mais je veux l'équivalent de 'Client.where ("prenom LIKE '% # {params [: prenom]}%'")' parce que le retour de la base de données '" entrée non valide 'I': 'O/O' attendu (ligne 1, colonne 41) \ n \ "MATCH (résultat:' User') WHERE prénom_ LIKE '% mOhA%' RETURN résultat \ "\ n ^" ' –
- 1. Neo4j utilisant Rails sur Heroku
- 2. Déployer Neo4j sur les rails
- 3. Configurer Neo4j sur Rails pour déployer avec Warbler
- 4. Comment utiliser 'Like' avec un paramètre
- 5. Comment utiliser les jalons de test Neo4j avec graduation
- 6. Utiliser Like Action avec différents types d'objets
- 7. Comment utiliser Mongoid sur Rails?
- 8. comment utiliser les index automatiques avec les étiquettes neo4j 2.0
- 9. Comment utiliser Neo4j RestAPI avec CypherResult en Java
- 10. Rails-like échapper javascript avec PHP
- 11. Indexation des anciennes données avec Neo4j et jRuby on Rails
- 12. Comment utiliser LIKE dans requêteur Yii
- 13. Comment forcer Neo4j à utiliser 2 index?
- 14. Comment utiliser l'instruction 'LIKE' avec des chaînes Unicode?
- 15. comment utiliser LIKE avec le nom de colonne
- 16. Comment utiliser des SELECT imbriqués dans Mysql avec LIKE?
- 17. Comment utiliser la syntaxe mysql "LIKE" avec un horodatage?
- 18. Rails où LIKE et tableau
- 19. Comment utiliser l'opérateur 'like' dans SQL?
- 20. Comment utiliser Like dans Linq Query?
- 21. Comment utiliser une variable à l'état LIKE?
- 22. comment utiliser en toute sécurité LIKE
- 23. Comment utiliser "." dans la requête LIKE?
- 24. Tri topologique sur Neo4j
- 25. Comment utiliser select2-rails avec simple_form?
- 26. comment utiliser ajax avec json dans ruby sur rails
- 27. Démarrer avec neo4j
- 28. ressort des données Neo4j utiliser accesseurs
- 29. en utilisant neo4j sur appharbor
- 30. Comment installer/démarrer neo4j sur mac?
merci @subvertallchris, Comment vérifier deux ** params ** avec la version plus courte? : D avec ** ou ** –
Vous devez utiliser la version la plus longue à ce stade. 'Client.as (: c) .where ('c.name = ~ {first_regex} OU c.occupation = ~ {second_regex}'). Params (premier_regex:/regex_1 /, second_regex:/second_regex ')'. – subvertallchris