MongoDB聚合$ lookup $ match

乌罗斯·卡拉伊季奇(Uros Kalajdzic)

我的Connection集合具有名为authors的ObjectId Array字段。我想合并作者数组中的所有名字和姓氏。现在,我从集合中的所有用户那里获取名字。无法使$ match聚合起作用。谢谢!

连接架构

const connectionSchema = new mongoose.Schema({
  authors: [{ type: mongoose.Schema.Types.ObjectId, required: true }],
  messages: [messageSchema]
});

代码问题

   const connections = await Connection.aggregate([

    {
      $lookup: {
        from: "users",
        let: { users: "users" },
        pipeline: [
          { $match: { _id: { $in: ["_id", "$authors"] } } },
          {
            $project: {
              name: {
                $concat: ["$firstname", " ", "$lastname"]
              }
            }
          }
        ],
        as: "userName"
      }
    },
阿什

authorsconnection架构中字段因此,使用authorsinlet变量即可在users管道中使用{ "$in": ["$_id", "$$authors"] }

const connections = await Connection.aggregate([
  {
    "$lookup": {
      "from": "users",
      "let": { "authors": "$authors" },
      "pipeline": [
        { "$match": { "$expr": { "$in": ["$_id", "$$authors"] } } },
        {
          "$project": {
            "name": {
              "$concat": ["$firstname", " ", "$lastname"]
            }
          }
        }
      ],
      "as": "userName"
    }
  }
])

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用带有$ lookup和$ match的聚合的搜索查询mongodb

来自分类Dev

MongoDB聚合查询优化:$ match,$ lookup和double $ unwind

来自分类Dev

MongoDB $ lookup和$ match

来自分类Dev

MongoDB聚合查询$ lookup

来自分类Dev

mongodb与$ group和$ lookup聚合

来自分类Dev

MongoDb聚合$ lookup和$ project

来自分类Dev

MongoDB聚合$ match与$ or

来自分类Dev

在MongoDB中执行$ lookup之后使用$ match

来自分类Dev

在MongoDB中执行$ lookup之后使用$ match

来自分类Dev

MongoDb:聚合$ lookup并过滤外部文档

来自分类Dev

mongodb 聚合中的多个 $lookup 阶段

来自分类Dev

在 mongodb 中使用多个 $lookup 和聚合

来自分类Dev

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

来自分类Dev

MongoDB-在ObjectId上聚合$ match

来自分类Dev

无法开始$ match和$ group MongoDB聚合

来自分类Dev

LOOKUP和MATCH查询

来自分类Dev

如何使用MongoDB将`$ lookup`聚合为`findOne()`

来自分类Dev

评估MongoDB聚合查询的复杂性:$ lookup的成本

来自分类Dev

如何使用MongoDB C#驱动程序聚合$ lookup?

来自分类Dev

如何在mongoDB的嵌套数据中使用聚合$ lookup?

来自分类Dev

在聚合查询中具有条件的Mongodb $ lookup

来自分类Dev

如何在mongodb $ lookup聚合内使用NOT IN数组条件

来自分类Dev

MongoDB 聚合 $lookup 以从主集合中返回不匹配的项目

来自分类Dev

聚合$ lookup对象数组

来自分类Dev

具有$ match和$ eq的MongoDB $ lookup,匹配对象数组内的值

来自分类Dev

MongoDb聚合$ match错误:“参数必须是聚合管道运算符”

来自分类Dev

mongoDB:聚合-本机node.js驱动程序是否具有与$ lookup连接等效的功能?

来自分类Dev

在Mongodb中的两个数据库之间是否可以进行$ lookup聚合?

来自分类Dev

MongoDB聚合:通过_id进行$ lookup,然后获取第一个元素的值

Related 相关文章

  1. 1

    使用带有$ lookup和$ match的聚合的搜索查询mongodb

  2. 2

    MongoDB聚合查询优化:$ match,$ lookup和double $ unwind

  3. 3

    MongoDB $ lookup和$ match

  4. 4

    MongoDB聚合查询$ lookup

  5. 5

    mongodb与$ group和$ lookup聚合

  6. 6

    MongoDb聚合$ lookup和$ project

  7. 7

    MongoDB聚合$ match与$ or

  8. 8

    在MongoDB中执行$ lookup之后使用$ match

  9. 9

    在MongoDB中执行$ lookup之后使用$ match

  10. 10

    MongoDb:聚合$ lookup并过滤外部文档

  11. 11

    mongodb 聚合中的多个 $lookup 阶段

  12. 12

    在 mongodb 中使用多个 $lookup 和聚合

  13. 13

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

  14. 14

    MongoDB-在ObjectId上聚合$ match

  15. 15

    无法开始$ match和$ group MongoDB聚合

  16. 16

    LOOKUP和MATCH查询

  17. 17

    如何使用MongoDB将`$ lookup`聚合为`findOne()`

  18. 18

    评估MongoDB聚合查询的复杂性:$ lookup的成本

  19. 19

    如何使用MongoDB C#驱动程序聚合$ lookup?

  20. 20

    如何在mongoDB的嵌套数据中使用聚合$ lookup?

  21. 21

    在聚合查询中具有条件的Mongodb $ lookup

  22. 22

    如何在mongodb $ lookup聚合内使用NOT IN数组条件

  23. 23

    MongoDB 聚合 $lookup 以从主集合中返回不匹配的项目

  24. 24

    聚合$ lookup对象数组

  25. 25

    具有$ match和$ eq的MongoDB $ lookup,匹配对象数组内的值

  26. 26

    MongoDb聚合$ match错误:“参数必须是聚合管道运算符”

  27. 27

    mongoDB:聚合-本机node.js驱动程序是否具有与$ lookup连接等效的功能?

  28. 28

    在Mongodb中的两个数据库之间是否可以进行$ lookup聚合?

  29. 29

    MongoDB聚合:通过_id进行$ lookup,然后获取第一个元素的值

热门标签

归档