Salut!
J'utilise plumesjs pour mon système en tant qu'API. Lorsque mes utilisateurs appellent api comme : api.my.site/v1/items?token=BPGhLf9D9FEM?title=Hello
Il recherche dans la base de données db.items.find({title: 'Hello'});
Mais ma conception de base de données est un peu différente, TITLE est stocké dans l'objet data
Il devrait exécuter cette requête mongo : db.items.find({'data.title': 'Hello'});
Comment puis-je faire rechercher des plumes dans mon objet data
? Existe-t-il un moyen de remplacer les requêtes Plumes where
et sort
?
Merci beaucoup!
Salut @perminder-klair. Vous pouvez modifier les données de la requête avec les Hooks avant qu'elles ne soient envoyées à la base de données. Dans ton cas comme ça :
app.service('items').before({
find(hook) {
const oldQuery = hook.params.query;
const newQuery = {};
Object.keys(oldQuery).forEach(key => {
newQuery[`data.${key}`] = oldQuery[key];
});
hook.params.query = newQuery;
}
});
J'ai également répondu à cette question dans Slack, donc je pense que nous pouvons conclure.
Ce problème a été automatiquement verrouillé car il n'y a eu aucune activité récente après sa fermeture. Veuillez ouvrir un nouveau problème avec un lien vers ce problème pour les bogues liés.