即使我需要该模型,也找不到“Item”模式。(mongoose,Node.js)

时间:2018-01-18 09:39:08

标签: node.js mongoose

我正在尝试在标签架构中运行'remove'钩子。 “Item.find不是函数” 这是我得到的错误。 但是找不到“项目”架构。这个“需要”在其他模型上运行正常。这里它不起作用。

var Item = require('./Item');

中可能会出现该错误

这是“标签”架构。

  var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    var Item = require('./Item');
    var List = require('./List');

    // created schema for Item
    var labelSchema = new Schema({
      label_title: {type: String},
      color_id:{type: String, required: true},
      created_at: Date,
      updated_at: Date,
      marked : { Boolean ,default:false },
      _board: {type: Schema.Types.ObjectId, ref:'Board'}
    });

    //-----------------Hook--
    labelSchema.post('remove',function(doc,next){

      Label.remove({_id:this._id}).then(function(data){
        console.log("successfuly removed label");
      }).catch(function(error){console.log(error);
      })

    //-----remove label from all items
       // console.log("ITEM", Item);
        Item.find({},function(error,items){
          items.forEach(function(item){
            Item.findByIdAndUpdate(item._id,
              { "$pullAll": { "label" : [{ "label_id" : this._id }]} },function(error,result){
                if(result)console.log("successfully removed");
                else console.log("not removed");
              })
          })
    })
    });


    var Label = mongoose.model('Label', labelSchema);
    module.exports = Label;

我该怎么办?

0 个答案:

没有答案