我在mongodb聚合中使用查找,但是它不返回我要查找的数据

佛法索尼

这是建筑样本集。

{
    _id: 5e4aa096a6b7db2270c65815,
    previous_audit: false,
    no_of_people: 3,
    project_name: 'UNDP',
    premise_contact: 'Kanagaraj',
    premise_address: 'Delhi',
    premise_city: 'Delhi',
    premise_state: 'Delhi',
    premise_country: 'IN',
    latitude: '28.593716',
    longitude: '77.222391',
    building_name: 'Nemi',
    building_type: 'Hospital',
    climate_zone: 'Hot & Dry',
    no_of_stories: '3',
    year_of_occupation: 3,
    gross_area: 3333,
    gross_area_units: 'Square Meters',
    lease_type: 'Annual Rental',
    campus_id: 5e4857816560b92a58129e68,
    project_name_lower: 'undp',
    createdAt: 2020-02-17T14:17:58.892Z,
    updatedAt: 2020-02-17T14:17:58.892Z,
    __v: 0,
}

在第一个管道阶段,我正在使用$ match函数。

Building.aggregate([
    {
        $match: {
            campus_id: {
                $in: campus_ids
            }
        }
    },
    {
        $lookup: {
            from: 'manual_meters',
            localField: '_id',
            foreignField: 'building_name',
            as: 'manual_meter'
        }
    }
])

但是当查找时,它总是在manual_meter中返回空arryay。这是我得到的回应。尽管收集手动计量表包含建筑物的ID,但仍不返回手动计量表收集。

 {
    _id: 5e4857816560b92a58129e72,
    previous_audit: false,
    project_name: 'UNDP',
    premise_contact: 'Kanagaraj',
    premise_address: 'Delhi',
    premise_city: 'Delhi',
    premise_state: 'Delhi',
    premise_country: 'IN',
    latitude: '28.593716',
    longitude: '77.222391',
    building_name: 'U.N.House',
    building_type: 'Office',
    climate_zone: 'Hot & Dry',
    no_of_stories: '4',
    year_of_occupation: 1970,
    gross_area: 6500,
    gross_area_units: 'Square Meters',
    lease_type: 'Owned',
    campus_id: 5e4857816560b92a58129e68,
    project_name_lower: 'undp',
    createdAt: 2020-02-15T20:41:37.171Z,
    updatedAt: 2020-02-15T20:41:37.171Z,
    __v: 0,
    manual_meter: []
  },
  {
    _id: 5e4aa096a6b7db2270c65815,
    previous_audit: false,
    no_of_people: 3,
    project_name: 'UNDP',
    premise_contact: 'Kanagaraj',
    premise_address: 'Delhi',
    premise_city: 'Delhi',
    premise_state: 'Delhi',
    premise_country: 'IN',
    latitude: '28.593716',
    longitude: '77.222391',
    building_name: 'Nemi',
    building_type: 'Hospital',
    climate_zone: 'Hot & Dry',
    no_of_stories: '3',
    year_of_occupation: 3,
    gross_area: 3333,
    gross_area_units: 'Square Meters',
    lease_type: 'Annual Rental',
    campus_id: 5e4857816560b92a58129e68,
    project_name_lower: 'undp',
    createdAt: 2020-02-17T14:17:58.892Z,
    updatedAt: 2020-02-17T14:17:58.892Z,
    __v: 0,
    manual_meter: []
  }
]

以下是样本manual_meter集合。

    {"_id":"5e4ad8e1a3833e2bb44b4dcb",
"meter_data : [],
"meter_name":"undp_unh",
"meter_id":"1001",
"meter_type":"energy",
"campus_name":"UNDP",
"building_name":"5e4857816560b92a58129e72",
"floor_name":"common",
"zone_name":"common",
"createdAt":"2020-02-17T18:18:09.192Z",
"updatedAt":"2020-02-17T18:18:09.192Z",
"__v":0}
米克尔

它看起来像你想的比赛stringObjectId哪个都不行,即使值是相同的。您可以将$ toString_id作为$ lookup的一部分在您的字段运行

{
    $lookup: {
        from: "manual_meters",
        let: { building_id: { $toString: "$_id" } },
        pipeline: [
            {
                $match:{
                    $expr: {
                        $eq: [ "$$building_id", "$building_name" ]
                    }
                }
            }
        ],
        as: "manual_meter"
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法抓取我要查找的数据?

来自分类Dev

无法使用$ nearSphere从我的mongodb集合中查找数据

来自分类Dev

无法使用$ nearSphere从我的mongodb集合中查找数据

来自分类Dev

在Mongodb中使用聚合,查找和管道进行查询

来自分类Dev

发送请求后,如何输出我要查找的数据

来自分类Dev

使用 ObjectId 的 mongodb 聚合查找

来自分类Dev

我在网格中使用数字文本框。但是数据没有绑定。为什么它不起作用?

来自分类Dev

MongoDB使用聚合管道查找和更新

来自分类Dev

我试图在使用\ t快速显示时缩进数据,但是它不起作用

来自分类Dev

在MongoDB中使用concat查找

来自分类Dev

如何在mongodb中查找文档并使用聚合查找属性?

来自分类Dev

我正在尝试使用此代码查找二叉树的高度,但是它始终返回0,有人可以告诉我为什么吗?

来自分类Dev

我要查找并返回给定维护日期后机器故障的第一日期

来自分类Dev

我如何在python中使用nltk查找特定的bigram?

来自分类Dev

MEAN App-无法在我的查找请求中使用查询

来自分类Dev

我在查询中使用countby(),但是要获取多少特定的计数?拉拉韦尔

来自分类Dev

我想使用列数据查找列索引

来自分类Dev

我在项目中使用了`sbt-buildinfo`,但是它不会生成BuildInfo.scala文件

来自分类Dev

我正在尝试通过在类中使用变量来触发指令,但是它不起作用

来自分类Dev

我有一个程序来查找字符串中字母的数量,但是它不完整,您能完成它吗python

来自分类Dev

从String到ObjectId的Spring数据MongoDb聚合查找

来自分类Dev

在 ggplot 中使用 geom_raster 函数,我将我的数据转换为数据框,但它不起作用

来自分类Dev

我可以使用 vlookup 或 match/index 来查找左侧的数据而不是查找值吗?

来自分类Dev

我正在尝试删除使用Python和BeautifulSoup抓取的Web链接的重复数据,但是它不起作用

来自分类Dev

我想查找列表的总数,但是发生了错误

来自分类Dev

MongoDB聚合查询,查找失败

来自分类Dev

在mongodb中使用聚合无法获取数据

来自分类Dev

在MongoDB中使用$ in查找子文档

来自分类Dev

在mongoDB中使用Monk限制查找

Related 相关文章

  1. 1

    无法抓取我要查找的数据?

  2. 2

    无法使用$ nearSphere从我的mongodb集合中查找数据

  3. 3

    无法使用$ nearSphere从我的mongodb集合中查找数据

  4. 4

    在Mongodb中使用聚合,查找和管道进行查询

  5. 5

    发送请求后,如何输出我要查找的数据

  6. 6

    使用 ObjectId 的 mongodb 聚合查找

  7. 7

    我在网格中使用数字文本框。但是数据没有绑定。为什么它不起作用?

  8. 8

    MongoDB使用聚合管道查找和更新

  9. 9

    我试图在使用\ t快速显示时缩进数据,但是它不起作用

  10. 10

    在MongoDB中使用concat查找

  11. 11

    如何在mongodb中查找文档并使用聚合查找属性?

  12. 12

    我正在尝试使用此代码查找二叉树的高度,但是它始终返回0,有人可以告诉我为什么吗?

  13. 13

    我要查找并返回给定维护日期后机器故障的第一日期

  14. 14

    我如何在python中使用nltk查找特定的bigram?

  15. 15

    MEAN App-无法在我的查找请求中使用查询

  16. 16

    我在查询中使用countby(),但是要获取多少特定的计数?拉拉韦尔

  17. 17

    我想使用列数据查找列索引

  18. 18

    我在项目中使用了`sbt-buildinfo`,但是它不会生成BuildInfo.scala文件

  19. 19

    我正在尝试通过在类中使用变量来触发指令,但是它不起作用

  20. 20

    我有一个程序来查找字符串中字母的数量,但是它不完整,您能完成它吗python

  21. 21

    从String到ObjectId的Spring数据MongoDb聚合查找

  22. 22

    在 ggplot 中使用 geom_raster 函数,我将我的数据转换为数据框,但它不起作用

  23. 23

    我可以使用 vlookup 或 match/index 来查找左侧的数据而不是查找值吗?

  24. 24

    我正在尝试删除使用Python和BeautifulSoup抓取的Web链接的重复数据,但是它不起作用

  25. 25

    我想查找列表的总数,但是发生了错误

  26. 26

    MongoDB聚合查询,查找失败

  27. 27

    在mongodb中使用聚合无法获取数据

  28. 28

    在MongoDB中使用$ in查找子文档

  29. 29

    在mongoDB中使用Monk限制查找

热门标签

归档