node.js - 如果 Mongoose Schema(req.body) 是对象数组,则无法保存
问题描述
我使用 Angular 6 js 作为客户端框架。从客户端发送到服务器的 req.body 数据是一个对象数组 [ { email: 'Testserver' }, { email: 'Liveserver' }]
但是当我保存时,集合中没有保存任何数据。正在保存一个空的 emailServer 数组。任何建议我哪里出错了?
app.js 文件-:
const MongooseSchema = require('../models/mongoose')
app.post('/',(req,res)=>{
var obj = new MongooseSchema(req.body);
obj.save((err,success)=>{
if(err){
res.send(err)
}
res.send(success)
})
猫鼬.js 文件
var mongoose = require('mongoose');
Schema = mongoose.Schema;
var MongooseSchema = new Schema({
emailServer : [{
email : {type:String}
}]
},{ collection: "RegisteredUserDetails" })
module.exports = mongoose.model('MongooseSchema',MongooseSchema)
解决方案
您正在创建的文档的结构必须与架构中定义的内容相匹配。发布的数据不包含emailServer
字段名称,因此您需要添加:
var obj = new MongooseSchema({emailServer: req.body});
推荐阅读
- ruby-on-rails - Sidekiq 幂等性、N+1 查询和死锁
- python - Kivy 游戏中的重启按钮
- c - 我无法理解他的 typedef 指针用法,有人可以解释一下吗?
- python-3.x - 在 matplotlib 图中切割 X 和 Y 标签
- django - TypeError: 'MediaDefiningClass' 对象不可迭代 | django admin 中的summernote 集成(已解决)
- uwp - 是否可以通过 UWP 应用程序关闭带有 Windows 10 IoT 的 Raspberry Pi
- git - 带有本地 .git 存储库的 vscode 说“活动更改太多”
- python-3.x - 如果发现其他空字符串,如何遍历 Beautful soup 标签元素列表并获取特定文本?
- java - 保存列表并在 Java 中访问它的正确方法
- python - 如何从控制台用 Python 打印的内容中获取输入?