【发布时间】:2019-10-30 23:52:50
【问题描述】:
您好,我正在尝试从文档中删除嵌套数组对象 id,但它没有被删除。虽然我收到消息"Deleted"
我有一个结构是:-
{
"admins": {
"users": [
"5d0364048db4957100f33fea" //<===want to delete this relational id
],
"email": "1cf1eede89@himail.online",
"password": "$2a$10$vHyGxX9P.t0/ybKcmIzkc.ZCX18oHaVnvTgJIWA2gTNzJ3TCdXS4a",
"_id": "5d0339d5b4b28b6ddff06802",
"companyName": "GH",
"__v": 0
}
我想从数组中删除users _id。
我试过了,但它没有被删除。
router.delete('/userDelete/:uId', checkAuth , (req, res, next) =>{
if(req.userData.role2 === 'admin') {
Admin.findOneAndUpdate({ _id: req.params.userId },{ $pull: { 'admins.users': req.params.uId}})
.exec()
.then(result => {
res.status(200).send(["Deleted"]);
})
.catch(err =>{
if (err.code == 500)
res.status(500).send(["Didn't get deleted"]);
else
return next(err);
});
控制器是这样的:-
var admin = new Admin();
admin.companyName = req.body.companyName;
admin.admins = {
email : req.body.email,
password: req.body.password,
users : []
};
我被困在这里,我必须在路线上做些什么改变?
【问题讨论】:
-
控制台
result -
@mehta-rohan 为空
-
这意味着您搜索记录的查询不起作用
-
我没有看到任何参数
userId。我看到的唯一参数是uId -
@mehta-rohan 是的,我知道了,但我找不到解决方案
标签: node.js mongodb express mongoose mongoose-schema