【发布时间】:2017-06-30 19:26:59
【问题描述】:
尝试创建新的猫鼬模式,但问题是我总是得到只有两列的新集合:_id 和 __v。就是这样,没有我的模式列。 这是架构代码:
import DataAccess from '../DataAccess';
import IUserModel from '../../model/interfaces/UserModel';
var mongoose = DataAccess.mongooseInstance;
var mongooseConnection = DataAccess.mongooseConnection;
class UserSchema {
static get schema() {
var schema = mongoose.Schema({
email: {
type: String,
required: false
},
firstName: {
type: String,
required: false
},
lastName: {
type: String,
required: false
},
createdAt: {
type: Date,
required: false
}
});
return schema;
}
}
var schema = mongooseConnection.model<IUserModel>('Users', UserSchema.schema);
export default schema;
用户模型非常简单:
import mongoose = require('mongoose');
interface UserModel extends mongoose.Document {
email: string;
firstName: string;
lastName: string;
createdAt: Date;
}
export default UserModel;
数据访问层:
import mongoose = require('mongoose');
class DataAccess {
static mongooseInstance: any;
static mongooseConnection: mongoose.Connection;
static connect(): mongoose.Connection {
const MONGODB_CONNECTION: string = 'mongodb://localhost:27017/dbname';
if (this.mongooseInstance) return this.mongooseInstance;
this.mongooseConnection = mongoose.connection;
this.mongooseConnection.once('open', () => {
console.log('Connected to mongodb');
})
this.mongooseInstance = mongoose.connect(MONGODB_CONNECTION);
return this.mongooseInstance;
}
}
DataAccess.connect();
export default DataAccess;
一旦我尝试创建新用户,它会在数据库中创建新文档,但只有两个默认列...
【问题讨论】:
-
嗯,我认为没关系,因为我正在相应地导入它。无论如何,我尝试更改名称但仍然没有成功,集合中只有两个字段。
标签: node.js typescript mongoose