如何使用$pull-mongodb修改模型上的两个数组



我有一个用户模型,在该用户模型上有两个数组,其中填充了userId(following和followed_by(。我希望从这两个数组中删除相同的值(如果存在的话(,并且想知道是否可以使用$pull来修改两个单独的数组。或者,如果有其他方法,我应该删除这个值。我只是不确定正确的语法,因为只对一个数组使用pull就可以很好地工作。

User.findOneAndUpdate(
{_id: userId}, 
{$pull: {followed_by: blockedUserId},
{following : blockedUserId}},
{new: true}
)
.then(user => { 

看起来语法有问题。应该是

{ $pull: { <field1>: <value|condition>, <field2>: <value|condition>, ... } }

所以在你的情况下,你可以尝试类似的东西

{$pull: { followed_by: blockedUserId, following: blockedUserId }}

最新更新