我正在使用MongoDB 3.6。我正在尝试进行以下汇总$ lookup。
$ lookup
{
来自:“ m_mtr”,
localField:“ mtdid”,
foreignField:'_id',
为:“ mm”
}
这对我不起作用,因为'mtdid'是一个字符串,其值类似于'5bdbe5bcff10z046fcf8f04a',而'_id'是一个对象ID字段,其值类似于'ObjectId('5bdbe5bcff10z046fcf8f04a')'。
是否可以将字符串转换为ObjectId?我知道这在Mongodb 4.0中是可能的。不幸的是,除了3.6,我别无选择。
答案 0 :(得分:0)
在猫鼬中,您可以使用此功能:
let id = new mongoose.Types.ObjectId('5bdbe5bcff10z046fcf8f04a');
答案 1 :(得分:0)
这是一个MongoDB公开问题,已于4.0发布,您必须尝试切换到4.0,因为它具有更多功能,并且由于迁移而不会产生巨大影响。