我在这里使用 nodejs、express、mongodb 和 mongoose!碰巧我正试图删除“追随者”文档中的一些 ID...
这是模型的一部分(我只是复制这部分,因为它是我感兴趣的部分):
var UserSchema = new mongoose.Schema({
followers: [
{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}
})
我正在尝试使用以下代码删除:
try{
let user = await User.findById(req.params.id);
user.followers.remove({_id: ObjectId(req.user._id)});
user.save();
}
catch(err) {
res.redirect('back');
}
req.user._id 是我试图从“关注者”中删除的用户 ID,但是,每当我执行此操作时,页面只会继续加载而没有任何反应。=我想删除的关注者不是被删除。有人可以帮我吗?
您可以delete
使用$pull
In single来记录数组中的文档Query
询问 :
db.getCollection('users')
.update({ "_id": ObjectId("5bb4747f316fcf310f3ef0a4") },
{ $pull: { followers: { _id: ObjectId('5bb4747f316fcf310f3ef0a5') } } },
{ multi: true })
上测试
Mongo GUI
。
在下面测试 doc
{
"_id" : ObjectId("5bb4747f316fcf310f3ef0a4"),
"index" : "123456",
"followers" : [
{
"_id" : ObjectId("5bb4747f316fcf310f3ef0a6"),
"name" : "green"
},
{
"_id" : ObjectId("5bb4747f316fcf310f3ef0a5"),
"name" : "green"
}
]
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句