请教前辈们一个问题,mongoose返回的数据不能更改

[ { tag: [ '5cb6922dc23b1151d0c9dba1', '5cb6922dc23b1151d0c9dba2' ],
    content: [ '<p>2</p>\n', '2' ],
    static: '1',
    _id: 5cb6922ec23b1151d0c9dba3,
    author: 'santu',
    title: '1',
    savetime: '2019-04-17 10:35',
    created: 2019-04-17T02:40:46.000Z,
    updated: 2019-04-17T02:40:46.000Z,
    __v: 0 },
  { tag:
     [ '5cb6922dc23b1151d0c9dba1',
       '5cb6922dc23b1151d0c9dba2',
       '5cb6927ac23b1151d0c9dba4' ],
    content: [ '<p>第二</p>\n', '第二' ],
    static: '1',
    _id: 5cb6927bc23b1151d0c9dba5,
    author: 'santu',
    title: '第二',
    savetime: '2019-04-17 10:41',
    created: 2019-04-17T02:42:03.000Z,
    updated: 2019-04-17T02:42:03.000Z,
    __v: 0 },
  { tag:
     [ '5cb6922dc23b1151d0c9dba1',
       '5cb6922dc23b1151d0c9dba2',
       '5cb6927ac23b1151d0c9dba4' ],
    content:
     [ '<p>wadsadajkahdajxa</p>\n<p><em>dsadadas</em></p>\n<h1 id="dsadadadadad">dsadadadadad</h1>\n<hr>\n<p>dasdadada</p>\n<p>jhkjkhhhk</p>\n',
       'wadsadajkahdajxa\n\n*dsadadas*\n\n#  dsadadadadad\n\n\n----\ndasdadada\n\njhkjkhhhk' ],
    static: '1',
    _id: 5cb6daa67e6e6a699814c9d9,
    author: 'santu',
    title: 'dasdaa',
    savetime: '2019-04-17 15:49',
    created: 2019-04-17T07:49:58.000Z,
    updated: 2019-04-17T07:49:58.000Z,
    __v: 0 } ]

这是从mongodb查询返回的数据在后台

for(let val of data){
   val._id = 1
   val.__v = JSON.stringify(val.__v)
   val.created = JSON.stringify(val.created)
   val.updated = JSON.stringify(val.updated)
   console.log(val)
}
//或者这样
for(let i=0; i<data.length;i++){
    data[i].arr = [1,2]
}
console.log(data)
//这里的data里面并没有增加arr


console.log(Object.getOwnPropertyDescriptor(data,'0'))
//打印结果为
{ value:
   { tag: [ '5cb6922dc23b1151d0c9dba1', '5cb6922dc23b1151d0c9dba2' ],
     content: [ '<p>2</p>\n', '2' ],
     static: '1',
     _id: 5cb6922ec23b1151d0c9dba3,
     author: 'santu',
     title: '1',
     savetime: '2019-04-17 10:35',
     created: 2019-04-17T02:40:46.442Z,
     updated: 2019-04-17T02:40:46.442Z,
     __v: 0 },
  writable: true,
  enumerable: true,
  configurable: true }

打印的结果都不会出现更改data的数据模型,更改的或者添加的都不会修改,用getOwnPropertyDescriptor这个查看了_id属性的读写操作,没有禁止读写啊。。求大佬给给思路

阅读 1.9k
2 个回答

测试没问题,话说你这个数据中的 _id 是字符串吧

解决了。。数据是mongodb返回的,返回的格式是bson格式,需要toObject()才能操作。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题