J'ai un document dans ma base de données Orienddb (version 1.0.1), avec une structure en grande partie comme ceci: Comment puis-je interroger sur toute la liste, par exemple. Si je veux trouver tous les documents contenant un témoignage avec le type "ignorer"? p> J'ai tenté la requête suivante p> mais ces résultats Dans un fonctionne, mais ne concerne évidemment que le premier élément de liste de chaque document. p> NumberFormatException code>. p>
select from testresult where testcases contains (type = 'ignore')
3 Réponses :
Essayez
{ "result": [{ "@type": "d", "@version": 0, "name": "Italy", "isoCodes": [ { "@type": "d", "@version": 0, "code": "iso3166-A2", "value": "IT" }, { "@type": "d", "@version": 0, "code": "iso3166-A3", "value": "ITA" }], "status": [ { "@type": "d", "@version": 0, "status": "1", "startingDate": "2012-04-24" }] }, { "@type": "d", "@version": 0, "name": "United Kingdom", "isoCodes": [ { "@type": "d", "@version": 0, "code": "iso3166-A2", "value": "GB" }, { "@type": "d", "@version": 0, "code": "iso3166-A3", "value": "GBR" }], "status": [ { "@type": "d", "@version": 0, "status": "1", "startingDate": "2012-04-24" }] } ] }
Merci pour votre réponse. Malheureusement, cela n'a pas amélioré ma situation. La requête suggérée fonctionne parfaitement tant que la liste intégrée contient des liens vers d'autres documents, mais ne fournit aucun résultat lorsque les objets de la liste ne sont que des valeurs, c'est-à-dire. La même situation que j'avais atteinte quand j'ai mis à jour ma question. Êtes-vous certain que vos propriétés d'isocodes ne sont pas des documents distincts dans votre base de données?
J'ai un problème similaire et finit par:
select from (select expand(testcases) from testresult) where value.type='ignore'
Je sais que c'est une vieille question, mais j'ai eu le même problème et je viens de sublé sur une réponse ici: https://www.mail-archive.com/orient-database@googlegroups.com/ msg00662.html
Les éléments suivants doivent fonctionner. Il fait dans mon cas d'utilisation très similaire. P>
L'instruction SQL habituelle où TestCases.Type dans 'Ignorer' Code> n'a pas fonctionné avec Oriendb. Orientdb va avec l'anglais approprié :)
J'ai eu le même problème que vous avez fait. Vous pouvez poster votre mise à jour dans la question et l'accepter. C'était ce que je cherchais.
@Davidlaberge: Merci pour la suggestion. La question est si ancienne que je ne me souviens franchement pas complètement son contexte, alors je me sentirais un peu inquiet de cette manœuvre. J'ai aussi le sentiment que mon approche initiale devrait travailler, au moins en fonction de la documentation de Oriendb, il se semblerait donc faux d'encourager les gens à restructurer leurs bases de données comme dans ce qui précède.