Scenario

我必须在名为 collegestudent 的2个集合上执行连接 . 我正在使用 MongoDB 3.4 . 这里, college 有一个名为 studentId 的字段,它引用了 studentstudent 集合 . 问题是, studentId 已经以字符串形式存储,而 _id 是ObjectId .

studentId的示例:“5910193d4c00000a01c2c615”_id的示例:ObjectId(“59a931696d00007c0962e24a”)

所以,当我尝试关注 join query 时:

db.college.aggregate(
    {
        $lookup: {
           from: "student",
           localField: "studentId",
           foreignField: "_id",
           as: "Related"
        }
    })

它不起作用,因为 localField studentIdforeignField _id 属于不同类型 . 那么,是否有某种方式 studentId 被转换/与 _id 进行比较,以便可以执行连接操作?