I am trying to map data from my nodejs api to angular. I need to convert the '_id' field from mongoDB to 'id' in angular. I am getting an error trying to map and I am not sure why.
This is my service method to get the data:
getAddresses(addressesPerPage: number, currentPage: number) {
const queryParams = `?pagesize=${addressesPerPage}&page=${currentPage}`;
this.http
.get<{ message: string; adddresses: any; maxAddresses: number }>(
`${ORDERS_ADDRESS_URL}/${queryParams}`
)
.pipe(
map((addressData) => {
return {
address: addressData.adddresses.map(
(address: {
_id: string;
firstName: string;
lastName: string;
email: string;
phone: string;
street1: string;
street2: string;
street3: string;
city: string;
state: string;
zip: string;
country: string;
notes: string;
creator: string;
}) => {
return {
id: address._id,
firstName: address.firstName,
lastName: address.lastName,
email: address.email,
phone: address.phone,
street1: address.street1,
street2: address.street2,
street3: address.street3,
city: address.city,
state: address.state,
zip: address.zip,
country: address.country,
notes: address.notes,
creator: address.creator,
};
}
),
maxAddresses: addressData.maxAddresses,
};
})
)
.subscribe((transformedAddressData) => {
this.addresses = transformedAddressData.address;
this.addressesUpdated.next({
address: [...this.addresses],
addressCount: transformedAddressData.maxAddresses,
});
});
}
When I make the request I am getting data back from my service successfully: { "message": "Address fetched successfully!", "addresses": [ { "_id": "61d5bbe6334f61f04eec36ed", "firstName": "John", "lastName": "Smith", "email": "jsmith@gmail.com", "phone": "123-456-7891", "street1": "123 Somewhere Street", "street2": "Suite 23", "street3": "Building 222", "city": "Kingston", "state": "MA", "zip": "02364", "country": "United States", "notes": "Donec rutrum congue leo eget malesuada. Proin eget tortor risus.", "creator": "61c9df529202251a482c8192", "__v": 0 } ], "maxAddresses": 1 }
The error I am getting is "ERROR TypeError: Cannot read properties of undefined (reading 'map')"