在MongoDB 3.4中将字符串转换为objectId

在MongoDB 3.4中将字符串转换为objectId,mongodb,mongodb-query,Mongodb,Mongodb Query,我需要在mongoDB中将字符串转换为objectId,在mongoDB 4中,可以通过$toObjectId:“$bar\u id 但问题是我的mongodb版本是3.4 在3.4版中有没有办法实现这一点? 升级不是一个选项,因为它在生产环境中使用 用例是我需要从一个集合到另一个集合进行查找,集合如下所示 集合F: { "_id" : ObjectId("a"), "field" : "some-field", "cityId" : "cityId",

我需要在mongoDB中将字符串转换为objectId,在mongoDB 4中,可以通过
$toObjectId:“$bar\u id

但问题是我的mongodb版本是
3.4
在3.4版中有没有办法实现这一点? 升级不是一个选项,因为它在生产环境中使用

用例是我需要从一个集合到另一个集合进行查找,集合如下所示

集合F:

{ 
    "_id" : ObjectId("a"), 
    "field" : "some-field", 
    "cityId" : "cityId", 
    "regionId" : "regionId", 
    "countryId" : "countryId", 
}
收集国家看起来像(地区和城市相似)

我尝试使用查询:

db.F.aggregate([
   {
     $lookup:
       {
         from: "country",
         localField: "countryId",
         foreignField: "_id",
         as: "country"
       }
  }
])
但结果似乎是:

{ 
    "_id" : ObjectId("a"), 
    "field" : "some-field", 
    "cityId" : "cityId", 
    "regionId" : "regionId", 
    "countryId" : "countryId", 
    "country" : [

    ]
}

有什么建议吗


谢谢你

在MongoDB中,除非你升级到4或更高版本,或者你需要对所有文档进行更新,否则你没有任何选择,你使用什么编程语言?我使用java,但这只是从应用程序中不使用的数据中提取查询…那么我想说,除了升级或更新文档之外,你可能没有其他选择。。
{ 
    "_id" : ObjectId("a"), 
    "field" : "some-field", 
    "cityId" : "cityId", 
    "regionId" : "regionId", 
    "countryId" : "countryId", 
    "country" : [

    ]
}