Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [
- {
- _accountId: "5beee0966d17bc42501f1234",
- name: "Company Name 1",
- contactEmail: "email1@email.com",
- contactName: "contact Name 1"
- reason: "Warranties",
- total: 1152,
- lineItems: [
- {
- _id: "5beee0966d17bc42501f5086",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf43929e7179a56e21382bc",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf4392fe7179a56e21382bd",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- }
- ]
- },
- {
- _accountId: "5beee0966d17bc42501f1235",
- name: "Company Name 2",
- contactEmail: "email2@email.com",
- contactName: "contact Name 2"
- reason: "Warranties",
- total: 1152,
- lineItems: [
- {
- _id: "5beee0966d17bc42501f5086",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf43929e7179a56e21382bc",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf4392fe7179a56e21382bd",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- }
- ]
- }
- ]
- {
- _id: "5beee0966d17bc42501f5086",
- jobsiteAddressStreet: String,
- jobsiteAddressCity: String,
- jobsiteAddressState" String,
- jobsiteAddressZip: Number,
- warrantyFee: Number,
- _accountId: {
- type: Schema.Types.ObjectId,
- ref: "accounts"
- },
- payStatus: String
- }
- {
- _id: "5beee0966d17bc42501f1235",
- name: String,
- contactName: String,
- contactEmail: String
- }
- Warranty.aggregate([
- {
- $match: {
- payStatus: "Invoiced Next Billing Cycle"
- }
- },
- {
- $group: {
- _id: "$_accountId",
- total: {
- $sum: "$warrantyFee"
- },
- lineItems: {
- $push: {
- _id: "$_id",
- jobsiteAddress: {
- $concat: [
- "$jobsiteAddressStreet",
- " ",
- "$jobsiteAddressCity",
- ", ",
- "$jobsiteAddressState",
- " ",
- "$jobsiteAddressZip"
- ]
- },
- warrantyFee: "$warrantyFee"
- }
- }
- }
- },
- {
- $project: {
- reason: "Warranties",
- total: "$total",
- lineItems: "$lineItems"
- }
- }
- ])
- .then(warranties => {
- console.log(warranties);
- Account.populate(warranties, {
- path: "_id",
- select: "contactName contactEmail name"
- })
- .then(warranties => {
- res.send(warranties);
- })
- .catch(err => {
- res.status(422).send(err);
- throw err;
- });
- })
- .catch(err => {
- res.status(422).send(err);
- throw err;
- });
- [
- {
- _id: {
- _id: "5bc39dfa331c0e2cb897b61e",
- name: "Company Name 1",
- contactEmail: "email1@email.com",
- contactName: "Contact Name 1"
- },
- reason: "Warranties",
- total: 1152,
- lineItems: [
- {
- _id: "5beee0966d17bc42501f5086",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf43929e7179a56e21382bc",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf4392fe7179a56e21382bd",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- }
- ]
- },
- {
- _id: {
- _id: "5bc39dfa331c0e2cb897b61e",
- name: "Company Name 2",
- contactEmail: "email2@email.com",
- contactName: "Contact Name 2"
- },
- reason: "Warranties",
- total: 1152,
- lineItems: [
- {
- _id: "5beee0966d17bc42501f5086",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf43929e7179a56e21382bc",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- },
- {
- _id: "5bf4392fe7179a56e21382bd",
- jobsiteAddress: "1234 Street Southwest Sunnyville, Wyoming 12345",
- warrantyFee: 384
- }
- ]
- }
- ]
Add Comment
Please, Sign In to add comment