是否可以通过$ lookup将字符串与ObjectId进行比较

时间:2016-12-30 09:37:38

标签: mongodb mongodb-query aggregation-framework

table1有一个字段字符串" value"并且table2有一个字段"值"如ObjectId,是否可以执行此类查询或如何编写

table1.aggregate([
    { 
        $lookup: { 
            from: "table2", 
            localField: "value", 
            foreignField: "_id", 
            as: "test" 
        }  
    }
])

1 个答案:

答案 0 :(得分:2)

据我所知,使用 MongoDB中的$lookup运算符加入集合数据类型应该相同。如果类型不匹配,那么$lookup将无效。因此,要加入,您应该使用相同类型的字段,因为它会检查相等

  

$ lookup阶段在一个字段之间进行相等匹配   从“已加入”的文档中输入带有字段的文档   集合

  • 如果 localField 类型为object,则 foreignField 应为object

  • 如果 localField 类型为string,则 foreignField 应为string

  • 如果 localField 类型为number,则 foreignField 应为number

$lookup Documentation