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
: