0

嘿,你如何在不删除父数组的情况下 $unset mongodb 中的子数组。

这是我使用猫鼬运行的查询:

User.findByIdAndUpdate(
    req.signedCookies.userid,
    {
        $addToSet: {
            friend: { 
                friendId: mongoose.Types.ObjectId(req.body.friend),
                date_added: new Date()
            }
        },
        $unset: {
            notifications: {
                receivedRequest: mongoose.Types.ObjectId(req.signedCookies.userid)
            }
        }
    }
);

但是,这会删除整个通知数组...

4

1 回答 1

0

您只想取消设置一个字段:

User.findByIdAndUpdate(
    req.signedCookies.userid,
    {
        $addToSet: {
            friend: {
                friendId: mongoose.Types.ObjectId(req.body.friend),
                date_added: new Date()
            }
        },
        $unset: { 'notifications.receivedRequest': " " }
    }
);
于 2013-07-24T17:20:17.903 回答