在MongoDB 3.4中将字符串转换为objectId
我需要在mongoDB中将字符串转换为objectId,在mongoDB 4中,可以通过在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",
$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" : [
]
}