投影无法在mongo中使用db.collection.find

时间:2018-01-25 20:24:22

标签: node.js mongodb amazon cloud9

我一天前就开始使用mongodb并遇到了问题。 我在net和stackoverflow上搜索了如何在最终答案中隐藏_id值并按照提供的答案提供我试图让我的代码运行但仍然是_id部分显示。

P.S。:我使用cloud9作为ide。

var mongo = require('mongodb').MongoClient;
mongo.connect('mongodb://localhost:27017/learnyoumongo', function(err, database) {
        if(err) throw err;
        const db = database.db('learnyoumongo');
        var parrots = db.collection('parrots');
        parrots.find({
            age: { $gt: +process.argv[2] }
        },{
            name: 1,
            age: 1,
            _id: 0
        }).toArray(function(err, docs){
            if(err) throw err;
            console.log(docs);
            database.close();
        });
});

1 个答案:

答案 0 :(得分:30)

你可以像这样分开投影:

    parrots.find({
        age: { $gt: +process.argv[2] }
    }).project({_id:0}).toArray(function(err, docs){
        if(err) throw err;
        console.log(docs);
        database.close();
    });

我有同样的问题,因为无法投射到工作,上面的方法对我有用