【发布时间】:2016-11-23 10:55:54
【问题描述】:
我的mongoose 模型看起来类似于:
var UsersSchema = new Schema({
my_username: {type: String},
blocked_users: [{
my_username: {type: String, required: true},
display_name: {type: String, required: true}
}],
created_at: {type: Date, default: Date.now},
updated_at: {type: Date, default: Date.now}
});
现在,我创建了用于将新的被阻止的用户添加到此数组的端点。它看起来如下:
usersRoutes.post('/:username/blockedUsers/add', function(req, res){
var username = req.params.username;
var blockedUser = req.body.blockedUser;
if (blockedUser != undefined) {
User.findByIdAndUpdate(
username,
{
$push: {"blocked_users": blockedUser},
},
{safe: true, upsert: true, new: true},
function(err, user) {
if(err)
console.log(err);
res.json(user);
}
);
}
});
而且效果很好。但是如何从该列表中删除特定用户?
有没有办法通过仅传递 my_username 而不是整个 blockedUser 对象来将他从该列表中删除?
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema