2016-12-30 45 views
3

table1有一个字段字符串“价值”和table2有一个领域的“价值”为ObjectId,是否有可能做这样或如何查询写

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

回答

1

据我所知加入收藏使用$lookup运营商MongoDB数据类型应该是相同的。如果类型不匹配,则$lookup将不起作用。所以加入你应该使用那些相同类型的字段,因为它检查等于

的$查找阶段确实从 输入文档的字段之间的平等匹配与的“加盟” 收集

  • 如果localFieldobject文件场那么foreignField应该是object

  • 如果localFieldstring然后foreignField应该string

  • 如果localFieldnumber然后foreignField应该number

$lookup Documentation

+0

是有可能暂时字符串转换反对c hecking – arunraj414

+0

可以访问此链接http://stackoverflow.com/questions/4973095/mongodb-how-to-change-the-type-of-a-field –