简体   繁体   English

如何从 Mongoose 中的数组中删除 object 的属性? !重要的

[英]How can I remove a property of object from an array in Mongoose? !Important

Doc -文件 -

const array =   [
  {
    user: new ObjectId("627913922ae9a8cb7a368326"),
    name: 'Name1',
    balance: 0,
    _id: new ObjectId("627913a92ae9a8cb7a36832e")
  },
  {
    user: new ObjectId("6278b20657cadb3b9a62a50e"),
    name: 'Name2',
    balance: 0,
    _id: new ObjectId("6279133b2ae9a8cb7a368314")
  },
  {
    user: new ObjectId("627913692ae9a8cb7a368319"),
    name: 'Name3',
    balance: 0,
    _id: new ObjectId("627913872ae9a8cb7a368321")
  },
  {
    user: new ObjectId("6278b24e57cadb3b9a62a513"),
    name: 'Name4',
    balance: 0,
    _id: new ObjectId("6278b41ab18ff3dff84781bd")
  }
]

Here, I want to remove the "_id" from all the objects in the array在这里,我想从数组中的所有对象中删除“_id”

I tried to use delete property but it didn't work我尝试使用 delete 属性,但没有用

array.forEach(object=>delete object._id)

And When I tried the same array.forEach(object=>delete object._id) by removing new ObjectId in _id property of object in array it worked fine!当我尝试相同的array.forEach(object=>delete object._id)通过删除数组中 object 的_id属性中的新 ObjectId时,它工作正常!

But as I am fetching this array from MongoDb,I can't remove this new ObjectId manually, So I need to fix this!!但是当我从 MongoDb 获取这个数组时,我无法手动删除这个新的 ObjectId ,所以我需要解决这个问题!!

Here, I got my answer在这里,我得到了答案

In the array在数组中

    const array =   [
  {
    user: new ObjectId("627913922ae9a8cb7a368326"),
    name: 'Name1',
    balance: 0,
    _id: new ObjectId("627913a92ae9a8cb7a36832e")
  },
  {
    user: new ObjectId("6278b20657cadb3b9a62a50e"),
    name: 'Name2',
    balance: 0,
    _id: new ObjectId("6279133b2ae9a8cb7a368314")
  },
  {
    user: new ObjectId("627913692ae9a8cb7a368319"),
    name: 'Name3',
    balance: 0,
    _id: new ObjectId("627913872ae9a8cb7a368321")
  },
  {
    user: new ObjectId("6278b24e57cadb3b9a62a513"),
    name: 'Name4',
    balance: 0,
    _id: new ObjectId("6278b41ab18ff3dff84781bd")
  }
]

I tried to use.map() and it did my work我尝试使用 .map() 它完成了我的工作

let list = []

array.map((object)=>{
    list.push({user: object.user,name: object.name,balance: object.balance})
})

console.log(list);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM