我有一个mongodb数据库,我正在尝试投影一些数据。当我在mongo命令行中使用以下查询 -
时db.gholson.find({}, { "_id": 1 }).skip(85).limit(2).pretty();
我得到以下输出: -
{
"_id": ObjectId("5abbde863f10ebda405b91f0"),
"_id": ObjectId("5abbde863f10ebda405b91f1")
}
这是所需的输出,但是当我设置一个快速服务器并对MongoClient使用以下查询时,我得到的是所有字段,而不仅仅是ids
。
db.collection('gholson').find( {}, { "_id": 1 }).skip(85).limit(2).toArray(( err, result ) => {
if( err ) throw err;
console.log( result );
callback();
});
上述查询返回所有键值对而不是id。我无法弄清楚,为什么会这样。
答案 0 :(得分:0)
从驱动程序3.0版开始,find
函数的第二个参数代表options
,而不是投影。请尝试以下方法:
db.collection("gholson").find({}, { "projection": { "_id": 1 } })
或
db.collection("gholson").find({}).project({ "_id": 1 })