【问题标题】:lookup with ObjectId works incorrect使用 ObjectId 查找不正确
【发布时间】:2018-08-07 12:01:48
【问题描述】:

我在 mongodb 中有 2 个集合

  1. 属性集合

    {
         "_id": "5b45b9612b33c41c3cdcc00c",
         "commId": "5b436da8859935243868edcc",
    },
    {
         "_id": "5b5844644a866c2640dcc50b",
         "commId": "5b436da8859935243868edcc",
    }
    
  2. 社区收藏

    {     
         "_id": ObjectId("5b4362e9859935243868edca"),
         "userId": "5b4329cbc5a2582294326b3b",
    }
    {
         "_id": ObjectId("5b436da8859935243868edcc"),
         "userId": "5b432f0ac5a2582294326b3d",
    }
    {
         "_id": ObjectId("5b5add46acf74732d81e9273"),
         "userId": "5b47094a28409e26d0bf0657",
    }
    

我想通过属性中的 commId 和 cimmunities 中的 _id 加入他们

let result = await Properties.aggregate([
                        {
                            $lookup: {
                                from: 'communities',
                                localField: 'Object(commId)',   
                                foreignField: 'ObjectId(_id)',
                                as: 'author'
                            }
                        },
                        {
                            $unwind: '$author',
                        },
                        {
                            $project: {
                                commId: 1,
                                author: {
                                    'commId': '$author._id',
                                    'userId': '$author.userId'
                                }
                            }
                        },
                    ])

响应必须只有 2 个属性,但它们重复...

【问题讨论】:

    标签: node.js aggregate lookup


    【解决方案1】:

    回应

    [
        {
            "_id": "5b45b9612b33c41c3cdcc00c",
            "commId": "5b436da8859935243868edcc",
            "author": {
                "commId": "5b4362e9859935243868edca",
                "userId": "5b4329cbc5a2582294326b3b"
            }
        },
        {
            "_id": "5b45b9612b33c41c3cdcc00c",
            "commId": "5b436da8859935243868edcc",
            "author": {
                "commId": "5b436da8859935243868edcc",
                "userId": "5b432f0ac5a2582294326b3d"
            }
        },
        {
            "_id": "5b45b9612b33c41c3cdcc00c",
            "commId": "5b436da8859935243868edcc",
            "author": {
                "commId": "5b5add46acf74732d81e9273",
                "userId": "5b47094a28409e26d0bf0657"
            }
        },
        {
            "_id": "5b5844644a866c2640dcc50b",
            "commId": "5b436da8859935243868edcc",
            "author": {
                "commId": "5b4362e9859935243868edca",
                "userId": "5b4329cbc5a2582294326b3b"
            }
        },
        {
            "_id": "5b5844644a866c2640dcc50b",
            "commId": "5b436da8859935243868edcc",
            "author": {
                "commId": "5b436da8859935243868edcc",
                "userId": "5b432f0ac5a2582294326b3d"
            }
        },
        {
            "_id": "5b5844644a866c2640dcc50b",
            "commId": "5b436da8859935243868edcc",
            "author": {
                "commId": "5b5add46acf74732d81e9273",
                "userId": "5b47094a28409e26d0bf0657"
            }
        }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-11
      • 2016-05-04
      • 2013-02-06
      • 2017-04-06
      • 1970-01-01
      • 2017-01-08
      相关资源
      最近更新 更多