尝试使用子文档数组保存架构时遇到问题。子文档保存为空白。请帮助我。
谢谢
schema.js
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
var contactSchema = new Schema({
first_name:String,
last_name:String,
phone:String,
meta:[{
clg_name: String,
class_name:String,
roll_number: String
}]
});
var contact = mongoose.model('contact',contactSchema); module.exports = contact;
路线
const express = require('express'); const router = express.Router(); const Contact = require('../ models / contacts');
//获取联系router.get('/ contacts',(req,res,next)=> { Contact.find(function(err,contacts){ 如果(err)抛出err; res.json(contacts); })
}); //添加联系人(form1) router.post('/ contact',(req,res,next)=> { let newContact = new Contact({ first_name:req.body.first_name, last_name:req.body.last_name, 电话:req.body.phone, clg_name:req.body.clg_name, class_name:req.body.class_name, roll_number:req.body.roll_number}); newContact.save((err,Contact)=> { if(err) { res.json({msg:"contact does not save"}); } else{ console.log(Contact); res.json({msg:"contact is saved"}); } }); });
//检测联系人路由器.delete('/ contact /:id',(req,res,next)=> { Contact.remove({_ id:req.params.id},function(err,result){ 如果(错误) {res.json(err); } else {res.json(result); } }); });
module.exports =路由器;
mongodb数据库
{
> "_id" : ObjectId("5b3c6e4ea380651ebcf762ea"),
> "first_name" : "ang",
> "last_name" : "raw",
> "phone" : "123456",
> "meta" : [
>
> ],
> "__v" : NumberInt(0)
> }
答案 0 :(得分:0)
我认为req.body中存在问题,也不要打印req.body.createdObject,因为body在不分配的情况下不包含它。
尝试创建一个新变量并将body的值放入其中,然后使用新的Contact(newVariable)保存。