У меня есть схема с виртуальной ссылкой на другую модель:
User.virtual('stuffs', {
ref: 'Stuff',
localField: '_id',
foreignField: 'owner',
options: {},
});
Когда новый пользователь регистрируется, я также генерирую некоторые связанные вещи дляи я хочу вернуть пользовательский объект с заполненным полем stuffs
, поэтому я делаю что-то вроде:
const user = await (new User(...).save());
const stuff = await (new Stuff({ owner: user._id }).save());
res.json({ user: (await user.populate('stuffs').execPopulate()).toObject({ virtuals: true }) });
Я предполагаю, что функция populate
работает, запрашивая материал коллекция для документа, владельцем которого является user._id
, точно так же, как тот, который был сохранен в приведенной выше команде.
Я читал, что Mongodb только в конечном итоге непротиворечив, означает ли это, чтозапрос может завершиться с ошибкой и не найти материал , который был только что сохранен?Если да, каковы шансы?Мне действительно нужно проверить, что население преуспело?Должен ли я добавить повторную петлю с несколькими попытками?
Спасибо.