Javascript OpenRecord:TypeError:User.create不是函数

Javascript OpenRecord:TypeError:User.create不是函数,javascript,node.js,openrecord.js,Javascript,Node.js,Openrecord.js,ORM OpenRecord 执行以下操作时,我收到一个错误(TypeError:User.create不是一个函数): await User.create(req.body.data) 当我登录用户时,我得到以下信息:[Function:User] 数据库配置: //config/database/openRecord.js /** more code above */ let store = new Store({ database, user, passwor

ORM OpenRecord

执行以下操作时,我收到一个错误(
TypeError:User.create不是一个函数)

await User.create(req.body.data)
当我登录用户时,我得到以下信息:
[Function:User]

数据库配置:

//config/database/openRecord.js
/** more code above */
let store = new Store({
    database, 
    user, 
    password, 
    host,
    autoConnect: true,
    autoAttributes: true,
    models: require("../../app/models/models")
}); 
//app/models/models.js
module.exports = [
    require("./user")
]
//app/models/user.js
const Store = require('openrecord/store/mysql');

class User extends Store.BaseModel {
    static definition(){
        this.validatePresenceOf(
            'first_name', 'last_name', 'email', 'password'
        );

        this.validatesConfirmationOf('password');
        this.validateFormatOf('email', 'email');
    }

    fullName(){
        return `${this.first_name} ${this.last_name}`
    }
}

module.exports = User;
型号:

//config/database/openRecord.js
/** more code above */
let store = new Store({
    database, 
    user, 
    password, 
    host,
    autoConnect: true,
    autoAttributes: true,
    models: require("../../app/models/models")
}); 
//app/models/models.js
module.exports = [
    require("./user")
]
//app/models/user.js
const Store = require('openrecord/store/mysql');

class User extends Store.BaseModel {
    static definition(){
        this.validatePresenceOf(
            'first_name', 'last_name', 'email', 'password'
        );

        this.validatesConfirmationOf('password');
        this.validateFormatOf('email', 'email');
    }

    fullName(){
        return `${this.first_name} ${this.last_name}`
    }
}

module.exports = User;
型号:

//config/database/openRecord.js
/** more code above */
let store = new Store({
    database, 
    user, 
    password, 
    host,
    autoConnect: true,
    autoAttributes: true,
    models: require("../../app/models/models")
}); 
//app/models/models.js
module.exports = [
    require("./user")
]
//app/models/user.js
const Store = require('openrecord/store/mysql');

class User extends Store.BaseModel {
    static definition(){
        this.validatePresenceOf(
            'first_name', 'last_name', 'email', 'password'
        );

        this.validatesConfirmationOf('password');
        this.validateFormatOf('email', 'email');
    }

    fullName(){
        return `${this.first_name} ${this.last_name}`
    }
}

module.exports = User;
当我以正确的方式清楚地定义了我的对象时,为什么会抛出错误


两个小的输入错误是
validatePresenceOf
(应该是validatesPresenceOf)和
validateFormatOf
(应该是validatesFormatOf)

然而,这不是你所经历的错误! 我敢肯定你忘了等到

如果您使用,例如,我建议在商店加载后开始收听:

const express = require('express')
const store = require('./store')

const app = express()

async function start() {
  // add middleware ...

  await store.ready()

  // start express server
  app.listen()
}
start()