gpt4 book ai didi

node.js - 使用 mongoose 和 typescript 创建模式

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:31 24 4
gpt4 key购买 nike

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

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

最佳答案

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

关于node.js - 使用 mongoose 和 typescript 创建模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42193414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com