У меня есть этот документ в моей коллекции:
{
"_id" : ObjectId("52718433e18a711923000005"),
"owners" : [
ObjectId("52718433e18a711923000004"),
ObjectId("52ed40dccc5bc50000000003"),
ObjectId("52ed4171abe2780000000003")
]
}
У меня есть следующее заявление, где я пытаюсь удалить одно из значений в owners
поле:
Business.update({_id:req.body._id}, {$pull:{"owners":req.body.userid}}, function(err){
if(err){
res.json(500, {message:"Could not remove user from admin list"});
}else{
res.json(200);
}
});
Я знаю, что req.body._id
и req.body.userid
имеют действительные значения:
{ _id: '52718433e18a711923000005',
userid: '52ed4171abe2780000000003' }
Другие операции, такие как поиск бизнеса по идентификатору и т. Д., Работают, поэтому это не проблема формата ObjectId. Что еще это может быть?
- Edit: вот мое определение (сокращенно) схемы:
var BusinessSchema = new Schema({
business_name: {type: String, required: true},
owners: {type: Array}
});
Можете ли вы обновить свой вопрос, включив определение своей схемы? – JohnnyHK
Я добавил его к вопросу. –