当前位置: 首页 > 知识库问答 >
问题:

如何在数组MongoDB[duplicate]中获取指定对象

堵浩波
2023-03-14

我在NodeJS和MongoDB上工作,我有这样的数据库JSON

{
   _id: "123"
   classroom: [
    {
      classId: "2046"
      className: "10b"
    },
    {
      classId: "2079"
      className: "12b"
    }   
  ]
},

{
   _id: "456"
   classroom: [
    {
      classId: "2069"
      className: "36b"
    },
    {
      classId: "2011"
      className: "36c"
    }   
  ]
}

我想删除上的教室

_id:"123"还有类ID:"2046"

,所以在删除过程之后,我将得到如下JSON

   {
       _id: "123"
       classroom: [
        {
          classId: "2079"
          className: "12b"
        }   
      ]
    },

    {
       _id: "456"
       classroom: [
        {
          classId: "2069"
          className: "36b"
        },
        {
          classId: "2011"
          className: "36c"
        }   
      ]
    }

所以,请帮助我做到这一点,任何建议都非常欢迎,谢谢

共有1个答案

訾朗
2023-03-14

您可以使用此查询执行以下操作:

db.collection.update({
    _id: '123'
}, {
    $pull: {
        classroom: {
            classId: '2046'
        }
    }
});
 类似资料:
  • 我有一个这样的回应json, 我想显示userId=3的详细信息,但没有为我提供获取详细信息的endpoint。所以我想从这个endpoint得到细节。 应用程序内: 我已经显示了仪表板的数据(使用recyclerview/list)

  • 我有一个数据就像 我想使用ES6高阶函数获得每个对象的名称,而不使用for或foreach。 我尝试过和但不知道何时使用什么

  • 我在react JS应用程序上调用API: 然后输出日志: 如何获取数组上的数据? 我需要城市名单

  • 本文向大家介绍在MongoDB中如何获取保存的对象?,包括了在MongoDB中如何获取保存的对象?的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个变量。以下是查询- 以下是使用save()保存记录的查询- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 假设mongodb文档(表)“users”为 我想找到1975年必须获得“国家奖章”的人,可能还有其他人在不同的年份获得该奖项。 我怎样才能找到这个人使用奖励类型和年份。所以我可以得到确切的人。

  • 我发现这个问题几乎是一个精确的重复,但我认为答案没有分析出漏洞。参见:`*((*(&array+1))-1)`用于获取自动数组的最后一个元素是否安全? 我知道通常的方法是计算来得到数组中的元素数量。(在注释中已经向我指出C++有) 所以,我推论,如果我能通过最后一个元素找到1的地址,就可以用指针数学来计算这个数字。但是,后来我想到我可以: 在C和C++中是否有允许这种取消引用是合法的? 我知道允许