我想在项目该字段之前将十六进制字符串转换为mongodb ObjectId。
我试过这个:
产品数据文档:
{
_id : ObjectId("571b73c2b190ecdc598b4567")
categories : [
"571b73c2b190evdc598bad67",
"571b73c2b1c0evdc598cad67"
]
}
db.products.aggregate([
{ $match : { _id : ObjectId("571b73c2b190ecdc598b4567") } },
{ $unwind : '$categories' },
{ $project : { 'category_id' : ObjectId("$categories") } },
{ $lookup : { from : 'categories', localField: 'categories', foreignField : '_id', as : 'categoriesData' } }
]).pretty()
但它返回错误:
错误:无效的对象ID:长度