假设我有两个互相引用的模型,一个是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
。
在此先感谢您的建议