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

根据主文档中的值,仅从子文档中检索某些字段

亢雅懿
2023-03-14

我的mongodb中有一个收藏,如下所示

{
_id: ObjectId("5fa917baffdd553806e96ca4"),
priority: 1,
fields: {
    1: {
        id: NumberInt("1"),
        value: NumberInt("1"),
        label: "Din 1",
        dimension: null,
        valueHuman: "1"
    },
    9: {
        id: NumberInt("9"),
        value: NumberInt("259"),
        label: "",
        dimension: "",
        valueHuman: ""
    }
   }
  }

我要做的是根据优先级的值(如我应该得到的)获取字段

{
_id: ObjectId("5fa917baffdd553806e96ca4"),
priority: 1,
fields: {
    1: {
        id: NumberInt("1"),
        value: NumberInt("1"),
        label: "Din 1",
        dimension: null,
        valueHuman: "1"
    }
   }
  }

共有1个答案

万知
2023-03-14
  • $objectToArray字段对象转换为数组
db.collection.aggregate([
  {
    $addFields: {
      fields: {
        $arrayToObject: {
          $filter: {
            input: { $objectToArray: "$fields" },
            cond: {
              $eq: [{ $toInt: "$$this.k" }, "$priority"]
            }
          }
        }
      }
    }
  }
])

游戏场

 类似资料:
  • 我在片段中有一个回收器来显示firestore中集合中的文档,问题是,它只从文档中检索某些字段,看起来它忽略了模型类中的其他一些Setter字段,这是我得到的错误: W/Firestore:(0.6.6-dev)[zzko]:在com类中找不到sabado的setter/field。实例denilsondasilva。iasdmt。com。实例denilsondasilva。com。实例denil

  • 考虑以下Firestore结构: 收藏 现在,我想查询宠物满足某些条件的人。例如,拥有两只以上宠物的人,或者拥有一只名为“ABC”的宠物的人。 这可能吗?

  • 我计划将文档中地图字段的子字段的值用于其他目的,但似乎无法检索它。我在这个网站上找到了一个答案,但是得到值的解决方案代码对我来说太多了。我可以使用解决方案代码来获得值,但如果有最简单的方法来获得它,请在这里删除答案。 这是Firestore DB的截图,我需要在一个以UID作为字段名的map字段中获得deleted的布尔值:

  • 我在firestore数据库中有两个集合,第一个是所有文档的列表(BlockList),第二个是用户的。当用户书签在应用程序的RecycerView上发布时,将文档的id和时间戳发送到Users Collection下的子Collection(收藏夹)。 我从主集合(BlockList)中检索基于此ID的文档列表,但我希望根据每个用户的时间戳来排列它们,所以我尝试在将它们添加到Arraylist并

  • 问题内容: 我有这个HTML代码: 问题是我收到消息“错误”。这意味着iframe的文档未正确获取,而GetDoc函数实际返回的是父文档。 如果您告诉我在哪里犯错,我将不胜感激。(我想将文档托管在IFrame中。) 谢谢。 问题答案: 您应该可以使用以下代码访问IFRAME中的文档: 但是,如果框架中的页面是从其他域(例如google.com)加载的,则将无法执行此操作。这是因为浏览器的“相同来源

  • 如问题所述,我无法使此更新操作正常工作。 我的设想: 我有一个、一个和一个。和具有数组作为属性。 我需要达到的目标是: > 将同一票据的属性从1递减。在主