mongodb使用$lookup多表查询localField和foreignField字段类型不同

mongodb使用$lookup多表查询时,需要要求localField和foreignField字段的类型相同

但是网上说类型可以转,但是没说怎么转,我查了一下也没查到,你们知道该怎么转吗?

db.user.aggregate(\[ {
     $lookup:
       {
         from: "inventory",
         localField: "_id",
         foreignField: "item",
         as: "inventory_docs"
       }
  } \])

我使用的是mongodb数据库自动生成的_id,作为另一个表的外键

阅读 2.9k
1 个回答
db.user.aggregate([
  {
    $addFields: {
      id_str: { $toString: "$_id" }
    }
  },
  {
    $lookup: {
      from: "inventory",
      localField: "id_str",
      foreignField: "item",
      as: "inventory_docs"
    }
  }
])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题