我寫的node+mongoose項(xiàng)目,models文件夾下存放定義mongoose 模塊的代碼,如果我寫了module.exports= 導(dǎo)出的話node就報(bào)錯(cuò),
下面是一個(gè)model
const mongoose = require('mongoose')
const Schema = mongoose.Schema
const mongoosePaginate = require('mongoose-paginate')
// 表單模板
/**
*fieldType:
單行文本框 (input)text
多行文本框 textarea
數(shù)字 (input)number
郵箱地址 (input)email
日期 (input)date
單選按鈕 (input)radio
復(fù)選框 (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, 文字長(zhǎng)度
}]
})
// 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
這是報(bào)錯(cuò)信息:
但是如果我不導(dǎo)出,反而不會(huì)報(bào)錯(cuò),這是什么原因呢?app.js中就是直接require 引入models文件夾下的js文件。
問(wèn)題二:
在不導(dǎo)出的前提下,我另一個(gè)model代碼結(jié)構(gòu)和定義以及保存的方法都跟這個(gè)幾乎是一樣的,但是另一個(gè)就可以正常存數(shù)據(jù),這個(gè)文件就不可以存,每次一調(diào)用存數(shù)據(jù)的接口就說(shuō)formModel 不存在。這又是什么原因呢?
下面是我調(diào)用該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
}
這是報(bào)錯(cuò):
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。