Можно ли обновить $ addToSet после того, как запрос был сделан и назначен? - PullRequest
0 голосов
/ 11 июля 2019

скажем, у меня есть две модели, которые ссылаются друг на друга.Я не хочу снова сохранять идентификатор (ref), если он уже есть.

Я гуглил и знаю, что есть что-то под названием $addToSet вместо использования $push

Но ситуация такова,Сначала я должен сделать запрос.

Например:

const user = await User.findOneAndUpdate({query, update, option});
const blog = await Blog.findOneAndUpdate({query, update, option})
// Do something with blog here first THEN
// I need to push the blog into user
user.blogs.push(blog); // this would keep pushing into user.blogs[] if it's the same blog

в качестве альтернативы, я могу использовать indexOf() и проверить, существует ли id в массиве, но, как я вижу, есть $addToSet Мне интересно, возможно ли это использовать, но я не хочу делать что-то вроде const userUpdate = await User.findOneAndUpdate({query, {$addToSet: {blogs: blog}}, option});

, так как это снова запрашивает user.

Заранее спасибо за любые предложенияи советы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...