【问题标题】:Creating schema with mongoose and typescript使用猫鼬和打字稿创建模式
【发布时间】: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


【解决方案1】:

我的错,代码没问题,但问题在于通过谷歌浏览器中的邮递员扩展将值发布到服务器。只需添加 Content-Type = application/json.而已。 我想我现在可以结束这个问题了。

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 2014-02-15
    • 2017-01-20
    • 2016-04-01
    • 1970-01-01
    • 2020-10-29
    • 2018-10-09
    • 2016-08-28
    • 2016-02-05
    相关资源
    最近更新 更多