Ватерлинии: создать или обновить заполненную запись - PullRequest
0 голосов
/ 26 октября 2018

У меня простой вопрос, но я не могу найти ответ в документации. У меня есть две модели: «Персона» и «Местоположение» связаны один-к-одному. Я хочу создать или обновить «заполненные дочерние записи» в коллекции Location.

 let person = await Person.findOne({ phone: inputs.phone }).populate('reside');

Ну возвращение

{ reside: [],
createdAt: 1540081110195,
updatedAt: 1540331824622,
id: '5bcbc5d609618e2cfbe64883',
phone: '+42424242',}

Я хочу создать новую запись местоположения (если они не существуют) или обновить, если они существуют. Я пытаюсь

let location = await Location.update({ id: person.reside.id })
.set({city: inputs.city,
    street: inputs.street,
  }).fetch;

Но это не работает, когда еще не создано ни одной записи.

модель / Person.js

phone: {
  type: 'string',
  unique: true,
},
reside: {
  collection:'location',
  via: 'owner'
},

модель / Location.js

city: { type: 'string' },
street: { type: 'string' },
owner:{
  model:'person',
  unique: true
}

Я использую action2

1 Ответ

0 голосов
/ 27 октября 2018

Я наконец нашел здесь методы .addToCollection () , .removeFromCollection () или .replaceCollection () для изменениязаполненные значения определенной записи или набора записей.Кажется, это не самое подходящее место в документе, чтобы говорить об этом

...