如何才能从JSON数组结果中获取指定电子邮件及其值,该结果应该类似于=> only(email:abc@gmail.com)
这是我的代码:
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("Scream_It");
var query = { bid_location : 'abbottabad' };
dbo.collection("bid_placement").find(query).sort({bid_amount:-1}).limit(1).toArray(function(err, result){
if (err) throw err;
console.log(result);
// console.log(JSON.stringify(result));
var string = JSON.stringify(result);
console.log(string);
var objectValue = JSON.parse(string);
// console.log(objectValue);
console.log(objectValue.email);
这是我在控制台中获得的结果
[ { _id: 5a9f8849fc49ca1ff4aee3dc,
email: 'abc@gmail.com',
bid_amount: '200',
bid_time: '22:22:22:22',
bid_location: 'abbottabad',
bid_status: 'false' } ]
答案 0 :(得分:1)
这是一个简单的JavaScript:
var res = [
{ _id: '5a9f8849fc49ca1ff4aee3dc',
email: 'abc@gmail.com',
bid_amount: '200',
bid_time: '22:22:22:22',
bid_location: 'abbottabad',
bid_status: 'false' },
{ _id: '5a9f8849fc49ca1ff4aee3dd',
email: 'abcd@gmail.com',
bid_amount: '200',
bid_time: '22:22:22:22',
bid_location: 'abbottabad',
bid_status: 'false' },
{ _id: '5a9f8849fc49ca1ff4aee3de',
email: 'abcde@gmail.com',
bid_amount: '200',
bid_time: '22:22:22:22',
bid_location: 'abbottabad',
bid_status: 'false' }
];
var finalRes = res.map(({email}) => ({email}));
console.log(finalRes);

答案 1 :(得分:0)
您可以在阵列上使用imageView
或reduce
:
使用reduce
map
使用地图
reducedResults = result.reduce((accumulator, current) => {
accumulator.push({ email: current.email });
return accumulator;
}, [])
答案 2 :(得分:0)
您可以使用mongoose api中的select
方法。基本上,您可以使用它来控制对象包含其属性的结果。所以,你的代码看起来像这样:
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("Scream_It");
var query = { bid_location : 'abbottabad' };
dbo.collection("bid_placement").find(query).select({email: 1, _id: 0}).sort({bid_amount:-1}).limit(1).toArray(function(err, result){
if (err) throw err;
console.log(result);
// console.log(JSON.stringify(result));
var string = JSON.stringify(result);
console.log(string);
var objectValue = JSON.parse(string);
// console.log(objectValue);
console.log(objectValue.email);
你应该得到这样的东西:
[ { email: 'abc@gmail.com'} ]
如果您需要_id
,请在选择{email: 1, _id: 1}