Как лучше всего обновить одно поле в документе на MongoDB? обновление или патч хук в пером

Я пытаюсь обновить документ mongodb в одном поле, у меня есть сомнения в том, какой метод я хочу использовать: патч или обновление, используя инфраструктуру перьев, приведите пример, как мы можем это сделать.

const { authenticate } = require('feathers-authentication').hooks;

module.exports = {
  before: {
    all: [ authenticate('jwt') ],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  },

  after: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  },

  error: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  }
};

1 ответ

Решение

update заменит весь документ. Объединить с существующими данными patch должен быть использован. Это задокументировано здесь и здесь на следующем примере:

app.service('messages').patch(1, {
  text: 'A patched message'
}).then(message => console.log(message));

const params = {
  query: { read: false }
};

// Mark all unread messages as read
app.service('messages').patch(null, {
  read: true
}, params);
Другие вопросы по тегам