var sprayIds = [ "5c646e5d1e53e006dd0b76c5", "5c646e5d1e53e006dd0b76a7", "5c646e5d1e53e006dd0b76a6", "5c646e5d1e53e006dd0b76a5", "5c646e5d1e53e006dd0b76a4", "5c646e5d1e53e006dd0b76a3", "5c646e5d1e53e006dd0b76a2", "5c646e5d1e53e006dd0b76a1" ]; sprayIds = sprayIds.map(i => ObjectId(i)); var pipeline = [ { "$match": { _id: 64 } }, { "$unwind": "$sprayAreas" }, { "$match": { "sprayAreas._id": { $in: sprayIds } } }, { "$group": { "_id": "$_id", "excludedAreas": { $first: "$excludedAreas" }, "swathWidth": { $first: "$swathWidth" }, "measureUnit": { $first: "$measureUnit" }, "sprayAreas": { $push: "$sprayAreas" }, } }, ]; db.jobs.aggregate(pipeline); // Find assigned vehicles with userid, username db.job_assigns.aggregate([ // { // $match: { // job: ?? // }, // }, { $lookup: { from: "users", localField: "user", foreignField: "_id", as: "assigned_users" } }, { $unwind: "$assigned_users" }, { $lookup: { from: "vehicles", localField: "user", foreignField: "user", as: "assigned_vehicles" } }, { $unwind: "$assigned_vehicles" }, { "$group": { "_id": "$_id", "uid": { $first: "$user" }, "name": { $first: "$assigned_vehicles.name" }, "username": { $first: "$assigned_users.username" }, } }, ]) // Find available vehicles with userid, username db.vehicles.aggregate([ { $match: { user: { $ne: null } } }, { $lookup: { from: "users", localField: "user", foreignField: "_id", as: "vehicle_users" } }, { $unwind: "$vehicle_users" }, { "$group": { "_id": "$_id", "uid": { $first: "$user" }, "name": { $first: "$name" }, "username": { $first: "$vehicle_users.username" }, } }, ]) // Select all pilots and vehicles account along with its parents db.users.aggregate( [ { $match: { firstName: '', $or: [ { type: 5 }, { type: 9 }] } }, { $lookup: { from: "customers", localField: "parent", foreignField: "user", as: "parent_users" } }, { $unwind: "$parent_users" }, { $lookup: { from: "users", localField: "parent_users.user", foreignField: "_id", as: "parent_users1" } }, { $unwind: "$parent_users1" }, { $group: { "_id": "$parent", "name": { $first: "$parent_users.name"}, "users": { $push: {uid: "$_id", username: "$username", type: "$type", password: "$password" } }, "username": { $first: "$parent_users1.username"}, "password": { $first: "$parent_users1.password"}, } }, { $project: { "_id": false } } ]) // Find all "entites" accounts db.users.find({ $and:[ { firstName: ''}, // { parent : { $nin: [ObjectId("5b0e4d6cd36bea4bbbf1f690"), ObjectId("5c6ff7d44e9ed904837b393a")] }}, { $or: [ { type: 5 }, { type: 9 }]} ] }, { _id: false });