如何在同一个 mongodb 查询中使用 $unwind 然后 $group

威马尼

我有以下 mongodb 结构...

[
    {
        track: 'Newcastle',
        time: '17:30',
        date: '22/04/2022',
        bookmakers: [
            {
                bookmaker: 'Coral',
                runners: [
                    {
                        runner: 'John',
                        running: true,
                        odds: 3.2
                    },
                    ...
                ]
            },
            ...
        ]
    },
    ...
]

我试图找到过滤每个文档的博彩公司数组以仅包含与指定博彩公司值匹配的对象,例如:

{ 'bookmakers.bookmaker': { $in: ['Coral', 'Bet365'] } }

目前,我正在使用以下 mongodb 查询仅选择指定的博彩公司,但是我需要在文件被“$ unwind”分隔后将它们重新组合在一起,有没有办法可以做这使用 $group?

await HorseRacingOdds.aggregate([
    { $unwind: "$bookmakers" },
    {
        $group: {
            _id: "$_id",
            bookmakers: "$bookmakers"
        }
    },
    {
        $project: {
            "_id": 0,
            "__v": 0,
            "lastUpdate": 0
        }
    }
])
射线

$addFields一个平原怎么样$filter

db.collection.aggregate([
  {
    "$addFields": {
      "bookmakers": {
        "$filter": {
          "input": "$bookmakers",
          "as": "b",
          "cond": {
            "$in": [
              "$$b.bookmaker",
              [
                "Coral",
                "Bet365"
              ]
            ]
          }
        }
      }
    }
  },
  {
    $project: {
      "_id": 0,
      "__v": 0,
      "lastUpdate": 0
    }
  }
])

这是Mongo游乐场供您参考。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Golang和MongoDB中使用$ lookup和$ unwind的请求很慢

如何在Golang中使用$ unwind?

如何在mongoDb中使用更新查询?

mongoDB:如何撤消$ unwind

Mongodb聚合$ unwind然后计数

MongoDB-使用$ group在$ lookup之后倒回$ unwind嵌套数组

MongoDB:使用$ unwind进入$ lookup管道

如何在MongoDB中使用一个查询更新许多文档

如何在MongoDB查询中使用变量?

如何在同一个LINQ查询中使用`let`关键字并选择ValueTuple?

MongoDB聚合-$ lookup + $ unwind之后的$ group

如何在mongodb中使用group by?

mongo查询中的多个$ unwind和$ group

MongoDB,Flask与$ unwind查询聚合

如何在MongoDB中使用条件查询

在同一个SQL查询中使用别名

如何在同一个表上进行多个联接,然后与另一个表联接?

在聚合框架mongodb中使用$ unwind和$ text

在mongodb中的多个嵌套数组中使用unwind

在同一个 Mysql 查询中的 MySql GROUP BY 和 SUM() 中

如何在 MongoDB 中查询文档的 id,然后在使用 java 的新查询中使用该 id

Mysql如何在同一个查询中使用SUM和COUNT

如何在同一个查询中检索用户的关注者和我已经在 mongodb 中关注的用户

$match, $group, $lookup 查询中 $unwind 的 MongoDB 位置

如何在密码查询中使用 UNWIND 后的条件

MongoDB 使用 group 和 unwind 计数出现次数

如何使用multer从同一个mongodb集合的多个字段上传文件

如何在同一个查询中使用 JOIN、WHERE 和 GROUP BY

MongoDB - 如何使用 $graphLookup 然后 $group 和 $sort 之后