Feathers: Tri et sélection avec API dans les objets

Créé le 25 mars 2016  ·  3Commentaires  ·  Source: feathersjs/feathers

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!

Question

Tous les 3 commentaires

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.

Cette page vous a été utile?
0 / 5 - 0 notes