【问题标题】:When creating a object from a model. the object is undefined从模型创建对象时。对象未定义
【发布时间】:2018-02-17 06:30:36
【问题描述】:

您好,对于一个项目,我需要记录 .csv 下载的导出。 我搜索了很多,但仍然找不到答案。

我在我的 mongoDB 中创建了一个集合:'tokens'

  • 模型位于/src/models/token.coffee
  • 应用程序位于 /src/app.coffee
  • 控制器位于 /src/controllers/token.coffee

这是我的模型:

mongoose = require('mongoose')
timestamps = require('mongoose-timestamp')
enums = require './enums'
schema = mongoose.Schema

# Schema definition
TokenSchema = new schema
  user:
    type: mongoose.Schema.Types.ObjectId
    ref: 'User'
    required: true
  first_name:
    type: String
    required: true
  last_name:
    type: String
    required: true
  status:
    type: String
    enums: enums.TokenStatuses.__values
    default: enums.TokenStatuses.running

# Plugins
TokenSchema.plugin timestamps, createdAt: 'created_at',  updatedAt: 'changed_at'

try
  mongoose.model 'Token', TokenSchema

我从控制器调用以下函数:

create_tokens_record = (user_id) ->
  User.findOne {_id: user_id}, (err, user) ->
   obj =
   user: user._id
   first_name: user.first_name
   last_name: user.last_name

   token = new models.Token(obj)
   console.log token
   token.save (err) ->
      return err if err

错误是:

events.js:72
        throw er; // Unhandled 'error' event
              ^
TypeError: undefined is not a function
    at c:\Users\Daan\api\src\controllers\user.coffee:239:15
    at Query.<anonymous> (c:\Users\Daan\api\src\node_modules\mongoose\lib\model.js:3435:16)
    at c:\Users\Daan\api\src\node_modules\mongoose\node_modules\kareem\index.js:273:21
    at c:\Users\Daan\api\src\node_modules\mongoose\node_modules\kareem\index.js:127:16
    at process._tickDomainCallback (node.js:492:13)

我不知道为什么我的模型仍未定义。希望有人能帮帮我!

【问题讨论】:

  • user.coffee:239 中的代码行是什么??
  • @Subburaj,我发现错误日志中的某些部分代码行不正确。但我发现它发生在这一行:token = new models.token(obj) 注意:我需要这样的模型:models = require '.,/models' 我尝试使用:Token = require '。 /models/token' 然后创建模型: token = new Token(obj) 得到同样的错误。

标签: node.js mongodb coffeescript


【解决方案1】:

我找到了答案:

在我的项目中,有一个 index.coffee 导出了所有模型。 我忘记将新创建的模型添加到此文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 2011-02-24
    • 2020-10-15
    • 2021-12-16
    • 2015-09-20
    • 2019-05-05
    • 2021-09-24
    相关资源
    最近更新 更多