从MongoDB monk中的结果中排除字段

cal*_*ird 9 mongodb node.js

我想从结果中排除一些字段.我有代码:

users = db.select('users');

users.find( {}, { sort: { points:1 }, privateKey:0, publicKey:0}, function(err,data){      
  res.send(data);
});
Run Code Online (Sandbox Code Playgroud)

我想从结果中排除私钥和公钥.我可以用和尚那样做吗?

Wil*_*ver 20

你也可以这样做:

users.find( {}, { sort: { points:1 }, fields : { privateKey:0, publicKey:0} },
  function(err,data){      
    res.send(data);
  }
);
Run Code Online (Sandbox Code Playgroud)


Sum*_*eet 7

根据文档 find 中的第一个参数是过滤器,第二个参数是投影。但是您已经使用了排序。它将无法解释。您试图将投影与排序混淆。排序应该在查找和投影之后进行。

你可以这样写投影 { field1: <boolean>, field2: <boolean> ... }

注意:find() 方法始终包含 _id 字段,即使该字段未明确声明在投影参数中返回。

 users.find({}, { privateKey: 0, publicKey: 0 }).sort({points: 1}).toArray(
           function (err, data) {
                      res.send(data);
             });
Run Code Online (Sandbox Code Playgroud)