【问题标题】:How to ,Insert , save and update inside the following mongo DB data base schema by using node js and mongoose如何使用节点 js 和 mongoose 在以下 mongo DB 数据库模式中插入、保存和更新
【发布时间】:2020-02-01 10:35:04
【问题描述】:

在以下 mongodb 模式中插入数据,员工姓名、项目名称、客户名称可以相同,但员工 ID 必须是唯一的。不允许重复输入。

 var StatusSchema = new mongoose.Schema({

       statusDetail: {
                empDetail:[{
                    empName: {
                            type: String,
                            required: 'This field is required!'
                            }, 
                            empId: {
                                    type: String,
                                    required: 'This field is required!'
                                    }  
                               }] ,
                status:[{
                    projectName: {
                            type: String
                             },
                            clientName: {
                            type: String
                            },
                            statusThisweek: {
                            type: String
                            }

                          }
                      ],
                      date :{
                            type: Date, 
                            default: Date.now
                      }      
                }
  });

【问题讨论】:

  • 请显示你的节点 js 代码你如何发送数据
  • 太宽泛了。展示你想要实现的具体案例,最好是一些代码尝试这样做。要求“完整的如何指导”作为答案不在本网站的问题范围内。

标签: javascript node.js mongodb express mongoose


【解决方案1】:

使用 momgoosejs Docs 为您的任务查找模型原型。

这些是您可能需要的几个模型原型:

insertOne
updateOne
updateMany
deleteOne
deleteMany
replaceOne

阅读文档:

https://mongoosejs.com/docs/api.html#model_Model

【讨论】:

  • 我正在寻找一个Node js代码来保存数据,没有重复条目。
  • 这些方法需要你提供一些过滤器作为第一个参数,然后是一个回调函数,这样它就不会创建一个重复的条目。
【解决方案2】:

尝试这种方式 你已经完成了模型你必须做剩下的事情来在你的猫鼬中插入数据

你的路由器文件

router.post("/", StatusSchemaController.StatusSchema_create)

你的控制器

exports.StatusSchema_create = (req, res, next) => {
    const StatusSchema = new StatusSchema({
            _id: new mongoose.Types.ObjectId(),
            empName: req.body.empName,
            // others field
        })
    StatusSchema
        .save()
        .then(result => {
            res.status(201).json({
                message: "Created Successfully",
            })
        })
        .catch(err => {
            res.status(500).json({error:err})
        })
}

【讨论】:

  • 这不起作用,因为我使用的是数组,并且您的代码正在生成重复输入错误,我已经检查过了。
  • 你必须删除旧数据
猜你喜欢
  • 2017-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 2017-03-15
相关资源
最近更新 更多