我寫的node+mongoose項目,models文件夾下存放定義mongoose 模塊的代碼,如果我寫了module.exports= 導出的話node就報錯,
下面是一個model
const mongoose = require('mongoose')
const Schema = mongoose.Schema
const mongoosePaginate = require('mongoose-paginate')
// 表單模板
/**
*fieldType:
單行文本框 (input)text
多行文本框 textarea
數字 (input)number
郵箱地址 (input)email
日期 (input)date
單選按鈕 (input)radio
復選框 (input)checkbox
下拉列表框 select
表格 table
文件 (input)file(url)
*/
const FormModelSchema = new Schema({
formName: String,
instruction: String,
userName: String,
updateUserName: String,
userId:String,
updateUserId: String,
createAt: {type: Date, default: Date.now},
updateAt: {type: Date, default: Date.now},
formFields: [{
displayName: String,
// fieldName:String,
fieldType: String,
placeholder:String,
isRequired:{type: Boolean, default: false},
value:String,
column:String,
fieldOptions:[{
displayText:String,
}],
fieldOrder:Number
//圖片 or 文件 限制圖片/文件大小
// maxSize:String, 文字長度
}]
})
// Defines a pre hook for the document.
FormModelSchema.pre('save', function(next) {
if (this.isNew) {
this.createAt = this. updateAt = Date.now()
}
else {
this.updateAt = Date.now()
}
next()
})
FormModelSchema.plugin(mongoosePaginate)
var FormModel=mongoose.model('FormModel', FormModelSchema)
module.exports=FormModel
這是報錯信息:
但是如果我不導出,反而不會報錯,這是什么原因呢?app.js中就是直接require 引入models文件夾下的js文件。
問題二:
在不導出的前提下,我另一個model代碼結構和定義以及保存的方法都跟這個幾乎是一樣的,但是另一個就可以正常存數據,這個文件就不可以存,每次一調用存數據的接口就說formModel 不存在。這又是什么原因呢?
下面是我調用該model的代碼:
'use strict'
var mongoose = require('mongoose')
const FormModel = mongoose.model('FormModel')
exports.createFormModel = async(data) => {
let FormModel = new FormModel(data)
let flag = false
await FormModel.save(function (err) {
if (err) {
flag = false
return console.error(err)
}else{
flag=true
}
})
return flag
}
exports.updateFormModel = async(data) => {
let FormModel = new FormModel(data)
let flag = false
await FormModel.update(function (err) {
if (err) {
flag = false
return console.error(err)
}else{
flag=true
}
})
return flag
}
這是報錯:
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數據專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯(lián)網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。