Passer au contenu principal
Toutes les collectionsQuestions générales
Utilisation des opérateurs $regex et $in dans les requêtes des API brainCloud avec des exemples
Utilisation des opérateurs $regex et $in dans les requêtes des API brainCloud avec des exemples

Opérateurs fréquemment utilisés pour la recherche de données

Jason Liang avatar
Écrit par Jason Liang
Mis à jour hier

Certaines API brainCloud acceptent comme paramètre une clause JSON de type MongoDB. Elles permettent d'effectuer des requêtes plus complexes sur les données pour obtenir des résultats spécifiques.

Plusieurs opérateurs de requête sont souvent utilisés pour interroger des données dans searchCriteria ou where via certaines requêtes d'API brainCloud, notamment pour obtenir une liste de données à partir d'appels d'API *page ou *list (par exemple, SysGetEntityPage, GetPage, GetList, etc.), tels que les opérateurs de requête de comparaison (par exemple $eq, $gt, $gte , $lt, $lte) et les opérateurs de requête d'évaluation (par exemple $regex, , $in). Ces opérateurs permettent aux utilisateurs d'obtenir rapidement et facilement les données attendues.
Cet article fournit quelques exemples d'utilisation de $regex, $in avec quelques API brainCloud.

Entité->Getpage() , recherche avec $regex-- pour trouver toutes les entités avec entityId includes

ea:

{
"context": {
"pagination": {
"rowsPerPage": 50,
"pageNumber": 1
},
"searchCriteria": {
"entityId": {"$regex": ".*ea.*"}
},
"sortCriteria": {
"createdAt": 1,
"updatedAt": -1
}
}
}

Obtenez le résultat comme prévu:

Utilisateur->SysGetPage() , expression $regex avec $options-- i pour activer l'insensibilité à la casse:

{
"context": {
"pagination": {
"rowsPerPage": 50,
"pageNumber": 1
},
"searchCriteria": {
"playerName": {
"$regex": "^h", "$options": "i"
}
},
"sortCriteria": {
"playerName": 1
},
"collationCriteria": {
"locale": "en",
"strength": 1
}
}
}

donc, vous obtiendrez un résultat en playerName commençant par H ou h:

L'opérateur CustomEntity->SysGetEntityPage() $in est utilisé dans cet exemple de requête:

{
"entityType": "athletes",
"context": {
"pagination": {
"rowsPerPage": 50,
"pageNumber": 1
},
"searchCriteria": {
"data.position": {"$in":["defense","forward"]}
},
"sortCriteria": {
"createdAt": 1
}
}
}

cette requête renverra toutes les entités avec position est defense ou forward:

Avez-vous trouvé la réponse à votre question ?