Как преобразовать строку в objectId в LocalField для $ lookup Mongodb [duplicate]
На этот вопрос уже есть ответ:
Сопоставление ObjectId со строкой для $ graphLookup 1 ответ Я хочу добавить объединенные коллекции, используя$lookup
в mongodb. Я пытаюсь как ниже
{
$lookup:{
from:"User",
localField:"assignedId",
foreignField:"_id",
as:"dataa"}
}
Теперь у меня есть две коллекции
Пользователь содержитobjectid
таких пользователей, как"_id" : ObjectId("56ab6663d69d2d1100c074db"),
а такжеЗадач где он содержитassignedId
какstring
"assignedId":"56ab6663d69d2d1100c074db"
Теперь при применении $ lookup в обеих коллекциях он не работает, потому что идентификаторы не совпадают.
Для этого я погуглил и нашел решение, которое включило бы
{ $project: { assignedId: {$toObjectId: "$assignedId"} }}
но это решение не работает для меня, оно выдает ошибку:
assert: command failed: { "ok" : 0, "errmsg" : "invalid operator '$toObjectId'", "code" : 15999 } : aggregate failed
Пожалуйста, помогите мне, как я могу решить эту проблему.
Благодарност