Roshan
Roshan

Reputation: 27

mongodb lookup giving empty array

BED_MAST this is my one collection bed_mast contains WARD_ID and want to perform join to my other collection with is WARD_MAST given below.

{
    "_id" : ObjectId("5e53c95a26b0e5ad0fb46376"),
    "Bed_id" : "bd-10",
    "WARD_ID" : "4",
    "OCCUPIED" : "0",
    "BED_TYPE" : "single AC"
}
{
    "_id" : ObjectId("5e53c95a26b0e5ad0fb46377"),
    "Bed_id" : "bd-11",
    "WARD_ID" : "1",
    "OCCUPIED" : "0",
    "BED_TYPE" : "single Non AC"
}

WARD_MAST this is my WARD_MAST having ward_id. but while I am putting lookup I am not getting any data.

{
    "_id" : ObjectId("5e53c95b26b0e5ad0fb46544"),
    "patient_id" : null,
    "ward_id" : 1,
    "total_beds" : 55,
    "ward_name" : "Ward 1"
}
{
    "_id" : ObjectId("5e53c95d26b0e5ad0fb46545"),
    "patient_id" : null,
    "ward_id" : 2,
    "total_beds" : 63,
    "ward_name" : "Ward 2"
}

MY query is

 db.BED_MAST.aggregate([{$lookup:{'from':"WARD_MAST",'localField':"WARD_ID",'foreignField':"ward_id",'as':"lookup_value"}}]).pretty()

output: I have confirmed the data by running this query to MySQL there it is working fine

{
    "_id" : ObjectId("5e53c95b26b0e5ad0fb46388"),
    "Bed_id" : "bd-28",
    "WARD_ID" : "6",
    "OCCUPIED" : "0",
    "BED_TYPE" : "NICU",
    "lookup_value" : [ ]
}

SAMPLE VALUES DATA IS GIVEN ALL DATA IS NOT POSSIBLE TO GIVE. I know it was asked 1000 times but not able to resolve this question. tried to solve with lookup. but it showing blank space. Is anything I am missing.

Upvotes: 1

Views: 48

Answers (1)

Saurabh
Saurabh

Reputation: 439

The problem is BED_MAST collection's WARD_ID has string values and WARD_MAST collection's ward_id has Number values.

Upvotes: 4

Related Questions