为什么$ pull运算符不适用于MongoDB

时间:2016-10-29 13:53:56

标签: node.js mongodb mongoose

{
"_id" : ObjectId("581472c3c65f3a1b3412f147"),
"name" : "这是一级目录-----1",
"englishName" : "zzzzz",
"stage" : "first",
"children" : [ 
    ObjectId("581472f1c65f3a1b3412f149"), 
    ObjectId("581472f4c65f3a1b3412f14a")
],
"type" : "group",
"order" : 50,
"__v" : 0
}

我希望$pull删除子[1],但它不起作用。

var _id = req.fields._id;   //581472f4c65f3a1b3412f14a
var parent_id = req.fields.parent;  //581472c3c65f3a1b3412f147
db.Group.update({ _id: parent_id }, { $pull:{children:_id} },function(err,result){
                    console.log(result);
                    cb(err,result);
                })

我尝试使用{$pull:{children:ObjectId(_id)}}代替{ $pull:{children:_id} },但仍然失败。

Mongoose Schema

var groupSchema=new Schema({
  name:String,
  englishName:String,
  order:{
    type:Number,
    default:50
  },
  type:{
    type:String,
    default:"group"
  },
  stage:String,
  children:{
    type:Array,
    default:[]
  }
});

我的英语很差。请原谅我。

0 个答案:

没有答案