【问题标题】:Is it possible to compare string with ObjectId via $lookup是否可以通过 $lookup 将字符串与 ObjectId 进行比较
【发布时间】:2016-12-30 18:05:24
【问题描述】:

table1 有一个字段字符串“value”,table2 有一个字段“value”为ObjectId,是否可以进行这样的查询或如何编写

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

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework


    【解决方案1】:

    据我所知,在 MongoDB 数据类型中使用 $lookup 运算符加入集合应该是相同的。如果类型不匹配,则$lookup 将不起作用。所以加入你应该使用那些相同类型的字段,因为它检查平等

    $lookup 阶段在来自 输入带有“已加入”文档中的字段的文档 收藏

    • 如果 localField 键入 object 那么 foreignField 应该是 object

    • 如果 localField 键入 string 那么 foreignField 应该是 string

    • 如果 localField 键入 number 那么 foreignField 应该是 number

    $lookup Documentation

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    相关资源
    最近更新 更多