将Mongodb查询结果更改到位

时间:2014-07-30 09:48:15

标签: node.js mongoose

餐厅是猫鼬模特。我试图改变现状并且不起作用:

  Restaurant.find({}, function(err, results) {
    for (var i = 0; i < results.length; i++) {
      delete results[i].__v;
  }

我认为results[i]是一个模型对象。我尝试使用以下内容检查属性描述符,并显示undefined

console.log(JSON.stringify(Object.getOwnPropertyDescriptor(results[i], '__v')));

为什么不删除对象的工作?为什么我看不到属性描述符?

修改: 所以这是一个Mongoose文档。但是,在Javascript用语中,像Mongoose文档这样的对象可以基于除Javascript对象之外的其他东西吗?一些基于内部C代码的包装器还是什么?

1 个答案:

答案 0 :(得分:2)

results不是Javascript对象,因此您无法使用remove

您可以使用results.toObject() doc

在Javascript对象中转换

或者你可以做 Restaurant.find({},{lean:true} doc

然后你可以delete results[i].__v;