【问题标题】:"Invalid value for schema path" error when assigning schemas分配架构时出现“架构路径的值无效”错误
【发布时间】:2018-08-23 14:40:41
【问题描述】:

在我的nodejs 应用程序中,我在文件中定义了一个模式作为模块:

let schema_pool_jobs = new mongoose.Schema({
   task_name : String,
   params    : Object,
   status    : String,
   progress  : Number
});
module.exports.schema_pool_jobs = schema_pool_jobs;

然后在另一个文件中我“需要”这个模块并在 connectToMongo 函数中使用它来将集合绑定到架构:

let schemas = require(path_to_schema_file);

let connectToMongo = () => {
   return new Promise((resolve, reject) => {
      let conn = mongoose.createConnection(CONFIG.MONGO_DB, {
         useMongoClient: true
      });
      conn.on("open", () => {
         console.log("connected");
         conn.model("pool_jobs", schemas.schema_pool_jobs, "pool_jobs");
         return resolve();
      });
      conn.on("error", error => reject(error));
   });
}

connectToMongo();

但只要我运行它,我就会看到

connected
TypeError: Invalid value for schema path `paths.task_name.regExp`
    at Schema.add (C:\Users\xxx\dev\project\node_modules\mongoose\lib\schema.js:383:13)
    at Schema.add (C:\Users\xxx\dev\project\node_modules\mongoose\lib\schema.js:396:14)
    at Schema.add (C:\Users\xxx\dev\project\node_modules\mongoose\lib\schema.js:396:14)
    at new Schema (C:\Users\xxx\dev\project\node_modules\mongoose\lib\schema.js:105:10)
    at NativeConnection.Connection.model (C:\Users\xxx\dev\project\node_modules\mongoose\lib\connection.js:1034:14)
    at NativeConnection.mongoose.project.on (evalmachine.<anonymous>:37:32)
    at emitNone (events.js:106:13)
    at NativeConnection.emit (events.js:208:7)
    at open (C:\Users\xxx\dev\project\node_modules\mongoose\lib\connection.js:738:11)
    at NativeConnection.Connection.onOpen (C:\Users\xxx\dev\project\node_modules\mongoose\lib\connection.js:747:5)
    at C:\Users\xxx\dev\project\node_modules\mongoose\lib\connection.js:707:11
    at C:\Users\xxx\dev\project\node_modules\mongoose\lib\drivers\node-mongodb-native\connection.js:227:5
    at C:\Users\xxx\dev\project\node_modules\mongoose\node_modules\mongodb\lib\db.js:239:5
    at ReplSet.connectHandler (C:\Users\xxx\dev\project\node_modules\mongoose\node_modules\mongodb\lib\replset.js:343:7)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)

而且我找不到任何合理的解释这意味着什么以及为什么会发生这种情况。任何想法如何解决它?

我正在使用猫鼬4.8.2

【问题讨论】:

    标签: javascript mongodb mongoose mongoose-schema


    【解决方案1】:

    好的,我设法弄清楚发生了什么。 事实证明,我在创建模式之前required mongoose,这导致了 mongoose 的大脑扭曲。 当我第一次需要 mongoose 然后定义模式时,一切都很好。

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 2015-08-31
      • 2015-12-21
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 2018-04-29
      相关资源
      最近更新 更多