2014-06-09 13 views
6

, optionsmetrics : [ { options : {} } ] sonra alıyorum:Garip Mongoose schema.js hatası - Ben varsa `options` bir şema yol olarak kullanılamaz Benim şemada

/home/one/cloudimageshare-monitoring/project/node_modules/mongoose/lib/schema.js:282 
    throw new Error("`" + path + "` may not be used as a schema pathname"); 
     ^
Error: `options` may not be used as a schema pathname 

Ama eğer başka bir kelimeye değişiklik options ... qoptions gibi ... sonra hata gider. Bu neden oluyor?

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var FilesystemSchema = new mongoose.Schema({ 
    timeStamp : { type : Date, index: true }, 
    avaiable : Boolean, 
    status : String, 
    metrics : [ 
     { options : { 
       data : String, 
       type : String, 
       unit : String 
       } 
     }, 
     { freeFiles : { 
       data : Number, 
       type : String, 
       unit : String 
      } 
     }, 
     { total : { 
       data : Number, 
       type : String, 
       unit : String 
      } 
     }, 
     { avail : { 
       data : Number, 
       type : String, 
       unit : String 
      } 
     }, 
     { free : { 
       data : Number, 
       type : String, 
       unit : String 
      } 
     }, 
     { files : { 
       data : Number, 
       type : String, 
       unit : String 
      } 
     }, 
     { used : { 
       data : Number, 
       type : String, 
       unit : String 
      } 
     } 
] 
}); 

module.exports = FilesystemSchema; 

cevap

20

Gelincik Gelincik iç uygulanması ile çelişen önlemek için kullanılamaz Reserved şema adlarının bir numarası vardır. Liste, docs dan ayrılmış olarak aşağıdakileri verir:

on, emit, _events, db, get, set, init, isNew, errors, schema, options, modelName, collection, _pres, _posts, toObject 

Bu terimler şemada kaçınılmalıdır!

İlgili konular