【发布时间】: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