在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)庫  網(wǎng)絡(luò)安全  HTML/ nodejs操作mongodb findOne/find 設(shè)置 projecti

nodejs操作mongodb findOne/find 設(shè)置 projection 參數(shù) 不起作用?

mongodb:3.6.5
node:9.9.0
koa:2.5.0
npm-mongodb:3.0.5

遇到的問題:

用findOne/find帶projection參數(shù)查詢
在node里 返回結(jié)果仍然帶有被剔除的字段

router.post('/manage', async(ctx, next) => {
    var users = db.collection("user");
    var doc = await users.findOne({userName:'yunf'},{_id:0});
    var doc1 = await users.find({userName:'yunf'},{_id:0}).toArray();
   
    console.log(doc);
    console.log(doc1 );
});
            
// 返回的結(jié)果仍然帶有被剔除的字段

// { 
//   _id: 5ac1cfe24a814acb143e3084,
//   userName: 'yunf',
//   authority: '00000000010000',
//   cerationTime: '',
//   updateTime: 2018-04-06T06:18:55.188Z,
//   userPwd: '$2a$10$IA7/C9fplPoxY6ilTbadyeBJjAxHRUIgP.ezOQqYMCv7vHXPhx39u' 
// }...

但同樣的代碼 shell正常返回
圖片描述

查過mongodb 3.6的文檔find()查詢返回的是游標(biāo) 可以用project指定返回的字段

var cursor3 = db.collection('user').find({}).project({_id: 0 }).toArray();

// { userName: 'yunf'}]

但是為什么用findOne/find帶projection參數(shù)查詢 會不起作用
是版本問題???求大佬指點(diǎn)?。。。。。。。。。。。。。。?!

回答
編輯回答
笨笨噠

你所使用的mongodb是nodejs的一個(gè)package,而不是原生的查詢語句,那是package生成的最終的結(jié)果。
Node.js MongoDB Driver API

文檔里寫很清楚find(query, options),options的定義里是沒有_id的,里面有projection應(yīng)該就是你想要的。

2017年4月13日 10:51