arrays - 如何在js中从数组中删除元素[元素来自mongodb]

标签 arrays node.js mongodb mongoose

以下是我的数组,

[
  {
    "key_id": "#K000030",
    "_id": "K000030",
    "isMaster": true,
    "specialties": [
        {
            "speciality1_count": "x039",
            "speciality1": "Infectious Disease"
        }
    ]
},
{
    "key_id": "#K000442",
    "_id": "K000442",
    "keyword": "Artificial Heart Ventricle",
    "isMaster": true,
    "specialties": [
        {
            "speciality1_count": "x011",
            "speciality1": "Cardiothoracic Surgery"
        },
        {
            "speciality2_count": "x041",
            "speciality2": "Interventional Cardiology"
        }
    ]
}

该字段来自mongoDb我在模型中声明了每个文件。这里我想删除数组中的“isMater”和“_id”。

resp.forEach(function(v,k){
    if (v) {
      delete v.isMaster;
      delete v._id;
    }
});

但它没有被删除。我不知道我在哪里犯了错误。请帮忙。

最佳答案

使用array.map() JavaScript 函数可以做到这一点。

所以代码将是:

array.map(function(item) {
  delete item._id;
  delete item.isMaster;
  return item;
});

下面是完整的工作代码:

let array = [{"key_id":"#K000030","_id":"K000030","isMaster":true,"specialties":[{"speciality1_count":"x039","speciality1":"Infectious Disease"}]},{"key_id":"#K000442","_id":"K000442","keyword":"Artificial Heart Ventricle","isMaster":true,"specialties":[{"speciality1_count":"x011","speciality1":"Cardiothoracic Surgery"},{"speciality2_count":"x041","speciality2":"Interventional Cardiology"}]}];

array.map(function(item) {
  delete item._id;
  delete item.isMaster;
  return item;
});

console.log(array);

关于arrays - 如何在js中从数组中删除元素[元素来自mongodb],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50616987/

相关文章:

javascript - Express JS - 无法将数组推送到 MongoDB 中的表

javascript - 在不知道对象数组格式的情况下从对象数组获取键值数组(Javascript)?

javascript - 如何使用JS Sort对多个元素进行排序

javascript - 如何根据键盘输入使圆圈消失?

arrays - 在遍历数组时向数组添加元素

javascript - 将对象传递给回调的正确方法?

node.js - 带有嵌套可选对象的 Mongoose 模式

node.js - 为什么当我调用 client.connect() 时 node-postgres (pg) 挂起?

mongodb - 对于海量数据的MongoDB数据库添加索引有什么影响?

json - Apache spark 存储和查询 json 数据是一个很好的用例吗?