2017-02-12 80 views
0

试图创建新的猫鼬模式,但问题是我总是只有两列获得新集合:_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; 

一旦我试图创建新的用户它创建新文档在数据库,但只有两个默认列...

+0

嗯,我认为没关系,因为我正在相应地导入它。无论如何,我试图改变名称,但仍然没有成功,只收集了两个字段。 –

回答

1

我的错,代码是o k,但问题是在谷歌浏览器中通过邮递员扩展将值发布到服务器。只需要添加Content-Type = application/json。而已。 猜猜我现在可以关闭这个问题。