$ pull不起作用

时间:2013-07-03 06:41:13

标签: node.js mongoose

删除该项目时,我想删除餐厅的项目参考。我做的是,我做了一个方法从餐馆拿出那个项目,但它不起作用。我发现像MongoError这样的错误:无法将$ pull / $ pullAll修饰符应用于非数组。

这是我的餐厅架构:

var Restaurant = new Schema({
    name: [languageData],
    description: [languageData],
    phone: String,
    email: String, 
    items: [{ type: ObjectId, ref: 'Item' }]
});

exports.restaurantModel = mongoose.model("Restaurant", Restaurant); 

这就是我从餐馆拉物品的功能:

restaurantModel.update({'_id' : restId}, {'$pull': {'items': itemId}}, function(err,data){
    if (!err) {
        console.log("Refrence of Item is updated"+data);
    } else {
        console.log("Error : " +err);
    }
});

我无法理解这是什么问题。我甚至尝试使用multi:true和upsert:false但仍然有错误..请帮助我解决这个问题。

0 个答案:

没有答案