【问题标题】:How to convert key - value pair in to array of same key-value pairs如何将键值对转换为相同键值对的数组
【发布时间】:2021-06-18 02:11:53
【问题描述】:

我正在使用 nextjs、express、mongoose、nodejs 开发电子商务网站。用户已选择要订购的项目。当他想查看他的列表时,我从 userSchema 中调用项目列表。这是我以以下给定格式获得的订购项目列表:

myList: {
  createdAt: 2021-03-19T12:03:41.989Z,
  isPaid: false,
  isDelivered: false,
  _id: 605493f4bd3f98bb9bd5366c,
  menuId: 3,
  userId: 6006018031a53c2d47e01d93,
  itemName: 'Masala Khichdi',
  itemPrice: 15,
  itemSize: 64,
  qtty: 2,
  itemPic: '/images/food-menu-3@2X.png',
  summary: '+918 372 574',
  __v: 0
},{
  createdAt: 2021-03-19T12:22:23.579Z,
  isPaid: false,
  isDelivered: false,
  _id: 6054c60667a9c2bc7e2522ce,
  menuId: 4,
  userId: 6006018031a53c2d47e01d93,
  itemName: 'Food Menu 4',
  itemPrice: 12,
  itemSize: 32,
  qtty: 1,
  itemPic: '/images/food-menu-4@2X.png',
  summary: '+123 456 789',
  __v: 0
},{
  createdAt: 2021-03-19T12:22:23.579Z,
  isPaid: false,
  isDelivered: false,
  _id: 6054c85467a9c2bc7e2522cf,
  menuId: 3,
  userId: 6006018031a53c2d47e01d93,
  itemName: 'Masala Khichdi',
  itemPrice: 11,
  itemSize: 32,
  qtty: 2,
  itemPic: '/images/food-menu-3@2X.png',
  summary: '+918 372 574',
  __v: 0
}

为了进一步处理,我需要将相同的列表转换为数组,如下所示:

myList: [{
  createdAt: 2021-03-19T12:03:41.989Z,
  isPaid: false,
  isDelivered: false,
  _id: 605493f4bd3f98bb9bd5366c,
  menuId: 3,
  userId: 6006018031a53c2d47e01d93,
  itemName: 'Masala Khichdi',
  itemPrice: 15,
  itemSize: 64,
  qtty: 2,
  itemPic: '/images/food-menu-3@2X.png',
  summary: '+918 372 574',
  __v: 0
},{
  createdAt: 2021-03-19T12:22:23.579Z,
  isPaid: false,
  isDelivered: false,
  _id: 6054c60667a9c2bc7e2522ce,
  menuId: 4,
  userId: 6006018031a53c2d47e01d93,
  itemName: 'Food Menu 4',
  itemPrice: 12,
  itemSize: 32,
  qtty: 1,
  itemPic: '/images/food-menu-4@2X.png',
  summary: '+123 456 789',
  __v: 0
},{
  createdAt: 2021-03-19T12:22:23.579Z,
  isPaid: false,
  isDelivered: false,
  _id: 6054c85467a9c2bc7e2522cf,
  menuId: 3,
  userId: 6006018031a53c2d47e01d93,
  itemName: 'Masala Khichdi',
  itemPrice: 11,
  itemSize: 32,
  qtty: 2,
  itemPic: '/images/food-menu-3@2X.png',
  summary: '+918 372 574',
  __v: 0
} ]

如何在后端使用 nodejs 做到这一点

【问题讨论】:

  • 你试过什么?请在您的问题中添加您的尝试。您可以使用带有$group 阶段的aggregate() 函数来对数组中的所有项目进行分组

标签: node.js arrays mongodb


【解决方案1】:

你的猫鼬查询是什么?如果您正在根据 userId 检索数据。 在查询中添加 .toArray() 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-02
    • 2014-01-31
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    相关资源
    最近更新 更多