【问题标题】:How do I access an element in a nested schema?如何访问嵌套模式中的元素?
【发布时间】:2019-02-08 11:36:42
【问题描述】:
{
        "_id" : ObjectId("5b8d1ecbb745685c31ad8603"),  
        "name" : "abc",  
        "email" : "abc@gmail.com",  
        "projectDetails" : [   
        {  
            "technologies" : [  
                "abc",   
                "abc"  
            ],  
            "_id" : ObjectId("5b8d1ecbb745685c31ad8604"),  
            "projectName" : "abc",  
            "projectDescription" : "abc",  
            "manager" : "abc",  
            "mentor" : "abc"  
        }  
    ],  
    "__v" : 0  
}  

这里,projectDetails 是一个对象数组。我想更新 projectDetails 中的元素“projectName”。我如何在 Postman 中写一个 PUT 请求?

【问题讨论】:

  • 您要更新特定项目的 projectName 吗?
  • 你是在说邮递员 URL 还是 URL 和 mongoose 查询相同?
  • @PiyushBansal,是的,我想更新特定项目的 projectName。
  • @PavanVora,我想同时知道 URL 和 mongoose 查询。
  • 是需要从邮递员那里发送 userId 还是你已经实现了 JWT 从 token 中获取 userId?

标签: node.js mongodb express mongoose postman


【解决方案1】:

试试下面的查询

db.users.update({ "email" : "abc@gmail.com","projectDetails._id":ObjectId("5b8d1ecbb745685c31ad8604")},{ $set: { "projectDetails.$.projectName" : "test" } })

你的网址应该是这样的

http://localhost:3000/project/5b8d1ecbb745685c31ad8604

您的 put 请求如下所述

router.route("/updateProject",function(req,res){
var id = req.query.project_id; // Check syntax for framework you are using 

});

【讨论】:

  • 根据您的要求更新查询
猜你喜欢
  • 2021-07-09
  • 2013-01-12
  • 1970-01-01
  • 2019-06-09
  • 1970-01-01
  • 1970-01-01
  • 2020-10-25
  • 1970-01-01
  • 2017-07-19
相关资源
最近更新 更多