MongoDB 3.6如何将字符串转换为对象ID

时间:2018-12-28 04:23:55

标签: mongodb lookup objectid

我正在使用MongoDB 3.6。我正在尝试进行以下汇总$ lookup。

$ lookup

{

来自:“ m_mtr”,

localField:“ mtdid”,

foreignField:'_id',

为:“ mm”

}

这对我不起作用,因为'mtdid'是一个字符串,其值类似于'5bdbe5bcff10z046fcf8f04a',而'_id'是一个对象ID字段,其值类似于'ObjectId('5bdbe5bcff10z046fcf8f04a')'。

是否可以将字符串转换为ObjectId?我知道这在Mongodb 4.0中是可能的。不幸的是,除了3.6,我别无选择。

2 个答案:

答案 0 :(得分:0)

在猫鼬中,您可以使用此功能:

let id = new mongoose.Types.ObjectId('5bdbe5bcff10z046fcf8f04a');

答案 1 :(得分:0)

这是一个MongoDB公开问题,已于4.0发布,您必须尝试切换到4.0,因为它具有更多功能,并且由于迁移而不会产生巨大影响。

https://jira.mongodb.org/browse/SERVER-22781