【问题标题】:Mongo Query to retrieve documents having redundant values within an ArrayMongo Query 检索在数组中具有冗余值的文档
【发布时间】:2021-08-20 17:59:12
【问题描述】:

在我的 mongo db 集合中,我的文档很少,如下所示: 每个 Document 都有一个“Bricks”数组。

  • 在 Bricks Array 中,一些文档具有相同的“brick_id”(参见 - 文档 1)
  • 某些文档具有唯一的“brick_id”(请参阅​​ - 文档 2)

现在,我的问题是我需要编写一个 Mongo 查询来检索“bricks”数组中包含冗余“brick_id”的所有文档。

意思是,我需要得到 Document 1 作为输出

请帮忙。我是 Mongo Db 的新手

**Document 1** :
{
  "_id" : 123 ,
  "page" : "new_page_1" ,
   "bricks" : [
      {
         "brick_id" : 160,
         "name" : "dev-br" 
      },
      {
          "brick_id" : 160,
          "name" : "dev-br2" 
      }
   ]
}

**Document 2**

{
  "_id" : 150 ,
  "page" : "new_page_1" ,
   "bricks" : [
      {
         "brick_id" : 200,
         "name" : "dev-br" 
      },
      {
          "brick_id" : 201,
          "name" : "dev-br2" 
      }
   ]
}

【问题讨论】:

    标签: mongodb mongodb-query


    【解决方案1】:

    您可以使用$setUnion 运算符将"$bricks.brick_id" 与一个空数组连接起来,并将其$size 与未修改的"$bricks.brick_id" 数组进行比较。如果大小不相等,则至少存在一个重复项。

    【讨论】:

    • 您能帮我查询一下吗?我理解你的逻辑,但我是 Mongo 查询语法的新手
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 2011-10-18
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    相关资源
    最近更新 更多