【问题标题】:In Mongoose, the method save(); don't work在 Mongoose 中,方法 save();不工作
【发布时间】:2019-08-12 22:37:38
【问题描述】:

当我尝试使用 mongoose 在 mongo 中保存任何内容时,方法 save() 的回调;回复我好吧,这意味着所有内容都保存在 MongoDB 中,但是当我在控制台中检查 MongoDB 时,没有任何内容只保存 de DB 为空。值得注意的是,我在 docker 容器上使用 mongo。

连接.ts

import  mongoose from 'mongoose';

const DB_URL:string = 'mongodb://localhost:27017';

mongoose.connect(DB_URL,{
    useNewUrlParser: true,
    user:'admin',
    pass:'qwerty12345',
    dbName:'veterinaria_db'
});


export default mongoose.connection

客户端.ts

import  mongoose from 'mongoose';
const Schema:any = mongoose.Schema;
import db from '../db/Conecction';


db.on('error',console.error.bind(console, 'connection error:'));
db.once('open',()=>{
    console.log('DB: Connected Susesfuly!!');
});

export interface IClient extends mongoose.Document{
    name:string,
    first_last_name:string,
    second_last_name:string,
    username:string,
    password:string,
    mail:string,
    phone:string,
    cellphone:string,
    history:[{
        appoinments:{
            pets:{
                name:string,
                type:string,
                age:number
            },
            date:Date,
            reason:string,
            status:number
        }
    }]
};

export const ClientSchema = Schema({
    name:String,
    first_last_name:String,
    second_last_name:String,
    username:String,
    password:String,
    mail:String,
    phone:String,
    cellphone:String,
    history:[{
        appoinments:{
            pets:{
                name:String,
                type:String,
                age:Number
            },
            date:Date,
            reason:String,
            status:Number
        }
    }]
});


export default db.model<IClient>('Client',ClientSchema);

Controller.ts

    testPost(req: any, res: any) {
        let { name, first_last_name, second_last_name, username, password, mail, phone, cellphone, history } = req.body;
        let newClient = new Client({
            name,
            first_last_name,
            second_last_name,
            username,
            password,
            mail,
            phone,
            cellphone,
            history:[]
        });

        newClient.save((error, client) => {
            if (error) return res.status(500).send({ message: `Error: ${error}` });
            res.status(200).send({ message: `Client ${client.name} saved` });
        });

【问题讨论】:

    标签: node.js mongodb typescript mongoose


    【解决方案1】:

    我不确定帖子的第一行是否有问题。

    let { name, first_last_name, second_last_name, 用户名, 密码, 邮件, 电话, 手机, 历史 } = req.body;

    如果它是以 json 格式交付的,请留下这一行: 让 newClient = new Client(req.body);

    console.log 输入错误和 !error 时会记录什么?

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2014-10-27
      • 2017-01-15
      • 2014-02-17
      • 2016-04-08
      • 1970-01-01
      • 2017-01-31
      • 2018-09-15
      • 1970-01-01
      相关资源
      最近更新 更多