为什么我不能从.find()查询的结果中删除_id键?

时间:2017-12-17 20:07:30

标签: node.js mongodb

我的查询看起来像这样:

collection.find({}, {_id: 0}).toArray((err, result) => {
  io.sockets.connected[clients[client.length-1]].emit('update chart state', result);
});

我的websocket正在将数据正确发送到客户端,但_id字段仍然存在于我收到的对象数组中。有人能指出我在这里缺少什么吗?

谢谢

1 个答案:

答案 0 :(得分:2)

find函数只接受一个参数 - 查询。返回的值为Cursor,其中包含project函数。因此,您可以使用以下内容:

collection.find({}).project({_id: 0}).toArray ...