A propos de l'interrogation de documents dans une collection

Vous pouvez rechercher un ou plusieurs documents dans une collection à l'aide d'une spécification de filtre ou d'une requête par l'exemple.

Un QBE est un modèle exprimé en JSON. Vous l'utilisez pour sélectionner, dans une collection, les documents JSON dont le contenu lui correspond, ce qui signifie que la condition exprimée par le modèle est évaluée comme vraie pour le contenu de ces documents uniquement. Pour plus d'informations sur les QBE et leur utilisation, reportez-vous à Présentation des QBE SODA dans Oracle AI Database Introduction à Simple Oracle Document Access (SODA).

Pour une collection spécifique, entrez la chaîne QBE dans l'éditeur JSON. Par exemple, pour sélectionner des documents dont le nom est Mary, entrez {"name" :"Mary"}, puis cliquez sur Exécuter la requête, comme illustré dans la figure 5-2. Les résultats de la requête sont affichés dans le volet inférieur droit.

L'éditeur offre une liste complète des commandes disponibles via la palette de commandes. Pour ouvrir la palette de commandes, appuyez sur Ctrl+Maj+P. Pour obtenir la liste des touches de raccourci clavier, reportez-vous à la section Keyboard Shortcuts.

Une erreur dans la requête est signalée par un point rouge dans la gouttière gauche et une ligne de squiggle sous le texte spécifique. Lorsque vous passez le pointeur de la souris dessus, une fenêtre contextuelle affiche les corrections possibles pour résoudre l'erreur.

Vous pouvez définir les préférences de l'éditeur à l'aide de l'option Préférences dans la liste déroulante utilisateur en haut à droite de l'en-tête. Certaines des options disponibles sont Theme (Light, Dark and High contrast dark), Font size and family, Tab size, Word wrap, Ruler, Line numbers, etc.

Les icônes au-dessus de l'éditeur sont les suivantes :

  • Format des données JSON icône json de format : active l'indentation et les sauts de ligne pour la chaîne QBE.

  • Ajouter une clause : Ajoute un modèle formaté de la clause $orderby ou $patch à la chaîne QBE.

  • Effacer icône Effacer : efface la chaîne QBE en cours.

  • Historique icône d'historique : Extrait les chaînes de recherche QBE précédentes.

Figure 5-2 Chaîne QBE dans l'éditeur JSON

Description de la figure 5-2
Description de la "Figure 5-2 Chaîne QBE dans l'éditeur JSON"

L'expression QBE doit être un objet JSON valide et peut contenir des clauses $query et $orderby ou $patch. L'expression QBE est traitée comme une clause $query si aucune clause n'est définie. A partir de la clause $query, ajoutez la clause $orderby ou $patch ultérieurement à l'aide de la liste Ajouter une clause. Le contenu est transformé et un modèle pour les clauses $orderby et $patch est fourni. Vous devez définir des valeurs correctes dans les modèles. Reportez-vous à Utilisation de la fonctionnalité de saisie semi-automatique en contexte dans l'éditeur JSON

Par exemple, il s'agit d'une requête de filtrage simple :

Description de l'image plain_query.png ci-après
Description de l'image plain_query.png

Une fois la clause $orderby ajoutée à l'aide de la clause Add, l'entrée suivante s'affiche :

Description de l'image orderby_clause.png ci-après
Description de l'image orderby_clause.png

Une fois la clause $patch ajoutée, la requête devient :

Description de l'image patch_clause.png ci-après
Description de l'image patch_clause.png

Utilisation de la fonctionnalité de saisie semi-automatique en contexte dans l'éditeur JSON

Si vous appuyez sur Ctrl+Espace, l'éditeur vous fournit une liste d'options contextuelles à partir de laquelle vous pouvez sélectionner et compléter automatiquement au point d'insertion.

Description de l'image json_code_completion.png ci-après
Description de l'image json_code_completion.png

Les types d'informations suivants apparaissent dans la liste :

  • Filtrer les clauses de comparaison

    Un modèle est disponible pour chaque clause et il est inséré à la position du curseur. Par exemple, lorsque vous sélectionnez la clause $between dans la liste de saisie semi-automatique, l'entrée suivante s'affiche dans l'éditeur :

    Description de l'image filter_clause.png ci-après
    Description de l'illustration filter_clause.png

    age est le nom de la propriété et 49 et 70 sont des valeurs. Il s'agit de paramètres que vous pouvez modifier et qui apparaissent en surbrillance. Vous pouvez saisir ou utiliser l'aide de saisie semi-automatique pour modifier le nom de la propriété. Appuyez sur la touche Tab pour passer au paramètre suivant.

  • Noms de propriété à partir de documents JSON dans la collection

    Il existe deux sources pour les noms de propriété à partir de documents JSON :

    • Si un index de recherche est créé avec la prise en charge du guide de données, le guide de données JSON du dictionnaire de base de données est analysé pour rechercher les noms de propriété.

    • Les noms de propriété collectés à partir de documents affichés ou modifiés sont présentés. Il est possible que les noms de propriété soient un sous-ensemble de l'espace de noms entier.

    Selon le type de propriété, le modèle associé est inséré et le curseur est positionné à l'emplacement prévu pour l'insertion. La liste suivante répertorie les types de propriété, leurs modèles et la position du curseur correspondante pour chacun d'eux :

    • Objet

      "ShippingInstructions.Address": {
      <cursor_here>
      }
    • Array

      "LineItems": [<cursor_here>]
    • Chaîne
      "LineItems[*].Part.Description": "<cursor_here>]"
    • Chiffre
      "PONumber": 0
    • Booléen
      "site_admin": true

    Lorsque le curseur est placé entre guillemets ("") et que la saisie semi-automatique est activée, seul le nom de propriété est inséré sans modèle ni guillemets supplémentaires.