NodeJS + MongoDB查询返回完整结果,尽管有排除

时间:2018-01-24 13:54:56

标签: node.js mongodb

我设置了一个查询,以返回除其ID之外的所有客户,如下所示:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  dbo.collection("customers").find({}, { _id: 0, name: 1, address: 1}).toArray(function(err, result) {
    if (err) throw err;
    console.log(result);
    db.close();
  });
});

但它仍然使用_ids返回完整结果,如下所示:

➜  tests node filter.js
[ { _id: 5a68801ec0dbfd8b5d38dc13,
    name: 'John',
    address: 'Highway 71' },...]

我在W3Schools上关注此示例。我的Node.JS是8.94,NPM 5.6.0和MongoDB 3.0.1。

我做错了什么?

P.S:另外,即使我将name:1更改为name:0以创建mix of inclusion and exclusion错误,也不会提示并返回完整结果!

1 个答案:

答案 0 :(得分:0)

尝试这个简单的查询

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
 dbo.collection("customers").find({}, { _id: 0 }, function (err, docs) {     
     if (err) throw err;
     console.log(docs);
     db.close();          
     });
});