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

Node.js 为什么我不能从.find()查询的结果中删除_id键?,node.js,mongodb,Node.js,Mongodb,我有一个查询,看起来是这样的: collection.find({}, {_id: 0}).toArray((err, result) => { io.sockets.connected[clients[client.length-1]].emit('update chart state', result); }); 我的websocket正在将数据正确地发送到客户端,但是我接收的对象数组中仍然存在\u id字段。有人能告诉我这里缺少什么吗 谢谢该函数只接受一个参数-查询。返回的值是

我有一个查询,看起来是这样的:

collection.find({}, {_id: 0}).toArray((err, result) => {
  io.sockets.connected[clients[client.length-1]].emit('update chart state', result);
});
我的websocket正在将数据正确地发送到客户端,但是我接收的对象数组中仍然存在
\u id
字段。有人能告诉我这里缺少什么吗

谢谢

该函数只接受一个参数-查询。返回的值是,它包含一个函数。因此,您可以使用以下内容:

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

对于NodeJs驱动程序,我相信您需要发出投影作为对通过
find
返回的游标的调用,例如
collection.find({}).project({u id:0}).toArray(…)
看起来您使用的是shell语法。