I am trying to connect two API, so my scenario is get data from API_1 and then post it to API_2. I put the data I get from API_1 in items collection
db.items.find()
{ "_id" : ObjectId("5af4a47f3bfab813b9b7396d"), "poId" : "4739521", "sku" : "PTES02", "qtty" : 99, "prc" : 10, "__v" : 0 }
{ "_id" : ObjectId("5af4a47f3bfab813b9b7396e"), "poId" : "4739539", "sku" : "PTES01", "qtty" : 13, "prc" : 99, "__v" : 0 }
{ "_id" : ObjectId("5af4a4b573c9ab13ce2ef78d"), "poId" : "4739521", "sku" : "PTES02", "qtty" : 99, "prc" : 10, "__v" : 0 }
{ "_id" : ObjectId("5af4a4b573c9ab13ce2ef78e"), "poId" : "4739539", "sku" : "PTES01", "qtty" : 13, "prc" : 99, "__v" : 0 }
I want to add the Variant ID from variants collections (which I get, from API_2) based on its SKU because it is required by API_2 in order to post, and both variant ID in API_1 and API_2 is completely different:
> db.variants.find()
{ "_id" : ObjectId("5af48bd03697230e01503eb2"), "SKU" : "PTES02", "varrID" : "40035121", "__v" : 0 }
{ "_id" : ObjectId("5af48bd03697230e01503eb3"), "SKU" : "PTES01", "varrID" : "39183757", "__v" : 0 }
I tried this aggregation:
db.items.aggregate([
{
$lookup: {
from: "variants",
localField: "sku",
foreignField: "SKU",
as: "VardId"
}
},
{
$out: "VariantID"
}
])
It creates a new empty collection named "VariantID" in database outside items collection, instead of this result that I want to achieve:
{
"_id" : ObjectId("5af4a47f3bfab813b9b7396d"),
"poId" : "4739521",
"sku" : "PTES02",
"qtty" : 99,
"prc" : 10,
"VariantID": "40035121",
"__v" : 0
}
Please help me, GREAT GREAT Thanks!