查询和分配后是否可以更新$ addToSet?

时间:2019-07-10 21:46:29

标签: javascript arrays mongoose mongodb-query updates

假设我有两个互相引用的模型,一个是ref作为数组。 我不想再次保存id(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

在此先感谢您的建议

0 个答案:

没有答案