数据库返回: {"_id":“56a96ab80a41e0f0333bc19e”, “accessToken”:“00f38da0-0f4f-4409-bcb7-24c776d4a653”, “avatar”:"", “user_name”:“2696071536”, “email”:"2696071536@qq.com", “password”:“e9e9b762c20d4ad091fdf54d4bb828cc”, "__v":0, }
如何快速过滤 直返会需要的 { “avatar”:"", “user_name”:“2696071536”, “email”:"2696071536@qq.com", }
可以看一下这个: https://github.com/JSSDKCN/node-form-validator var extractedData = validator.json.extract(json, conf));
去lodash找找。。。
use lodash _.pick
find?
var src = {
"_id":“56a96ab80a41e0f0333bc19e”,
“accessToken”:“00f38da0-0f4f-4409-bcb7-24c776d4a653”,
“avatar”:"",
“user_name”:“2696071536”,
“email”:"2696071536@qq.com",
“password”:“e9e9b762c20d4ad091fdf54d4bb828cc”, "__v":0,
}
var dst = {
avatar: src.avatar,
user_name: src.user_name,
email: src.email,
}
不知道是不是你想要的。
这种比较简单的我一般都自己写。 因为要导入一个lodash感觉很麻烦(前端)。。 如果要效率的话还是导包吧
感谢3楼 就是lodash的 picker 。其它同学也很给力,当然自己写个也不难,但本人从来就现成的不自己写。 果断引入lodash。 简单粗暴 var object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
_.pick(object, [‘a’, ‘c’]); // → { ‘a’: 1, ‘c’: 3 }
可以用mongoose的select来过滤的啊 或者类似于
db.inventory.find( { type: 'food' }, { item: 1, qty: 1 } )