2017-10-08 2 views
0

J'essaie d'écrire un service personnalisé, mais cela ne fonctionne pas du tout. J'essaie de poster une demande et faire deux requêtes de mise à jour dans les collections, mais je ne travaillerai pas du toutService personnalisé dans feathersjs

c'est mon code

// Initializes the `bedrijven` service on path `/bedrijven` 
const createService = require('feathers-mongoose'); 
const createModel = require('../../models/bedrijven.model'); 
const hooks = require('./bedrijven.hooks'); 
const filters = require('./bedrijven.filters'); 
module.exports = function() { 
    const app = this; 
    const Model = createModel(app); 
    const paginate = app.get('paginate'); 
    const options = { 
    name: 'bedrijven', 
    Model, 
    paginate 
    }; 
    // Initialize our service with any options it requires 
    app.post('/bedrijven/setfavo', function(req, res) { 
    Promise.all([ 
     app.service('bedrijven').update({ 
     owner: req.body.userid 
     }, { 
     favo: false 
     }), 
     app.service('bedrijven').update(req.body._id, { 
     favo: true 
     }) 
    ]); 
    }); 
    app.use('/bedrijven', createService(options)); 
    // Get our initialized service so that we can register hooks and filters 
    const service = app.service('bedrijven'); 
    service.hooks(hooks); 
    if (service.filter) { 
    service.filter(filters); 
    } 
}; 

Répondre

0

Assurez-vous que ce fichier est inclus dans votre fichier principal app.js .

Quelque chose comme:

const bedrijven = require('./bedrijven/bedrijven.service.js'); 

app.configure(bedrijven); 

Y at-il une raison que vous ne voulez pas utiliser feathers generate service? Il prendrait soin de ces questions pour vous.

+0

Le code que j'ai partagé est le fichier '/bedrijven/bedrijven.service.js. L'erreur que je reçois est qu'il y a une validation dans les autres champs sauf le champ 'favo'. Lorsque je mets à jour 1 ligne, je peux utiliser un élément istead mettre à jour tous les éléments de la ligne. – user3682416

+0

Avez-vous vérifié 'req.body.userid' et' req.body.id 'et vérifié qu'ils correspondent aux enregistrements dans votre base de données pour les champs 'owner' et' _id'? – sagannotcarl