Tôi muốn thêm các bộ sưu tập tham gia bằng cách sử dụng $lookup
trong mongodb. Tôi đang cố gắng như sau
{
$lookup:{
from:"User",
localField:"assignedId",
foreignField:"_id",
as:"dataa"}
}
Bây giờ tôi có hai bộ sưu tập
tài chứa objectid
của người sử dụng như "_id" : ObjectId("56ab6663d69d2d1100c074db"),
và Nhiệm vụ nơi nó chứa assignedId
như một string
"assignedId":"56ab6663d69d2d1100c074db"
Bây giờ, khi áp dụng tra cứu $ trong cả hai bộ sưu tập nó không hoạt động vì Id không khớp.
Cho rằng tôi googled nó và tìm thấy một giải pháp mà để bao gồm
{ $project: { assignedId: {$toObjectId: "$assignedId"} }}
nhưng giải pháp này không làm việc cho tôi, nó ném một lỗi:
assert: command failed: { "ok" : 0, "errmsg" : "invalid operator '$toObjectId'", "code" : 15999 } : aggregate failed
Xin hãy giúp tôi làm thế nào tôi có thể giải quyết vấn đề này không.
Cảm ơn
Có thể trùng lặp của trường [Mongodb Tham gia trên \ _id từ chuỗi thành ObjectId] (https://stackoverflow.com/questions/41093647/mongodb-join-on-id-field-from-string-to-objectid) – felix