gpt4 book ai didi

node.js - 将 mongodb 数据解析为 javascript 数组对象

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:00 25 4
gpt4 key购买 nike

你好,我正在学习 mongodb 和 nodejs。我成功检索了订单的所有集合。下面是输出

The orders: { __v: 0,
nonmeat: 'pineapple',
meat: 'Bacon',
sauce: 'AlfredoSauce',
crust: 'medium',
_id: 571c1b9aed52d5e5462b99f9 },{ __v: 0,
nonmeat: 'pineapple',
meat: 'Bacon',
sauce: 'AlfredoSauce',
crust: 'medium',
_id: 571c1bba07f035e646d24aa8 },{ __v: 0,
nonmeat: 'parmesan,olives',
meat: 'Salami',
sauce: 'MarinaraSauce',
crust: 'large',
_id: 571c1e3c28dd30ed469eb6df },{ __v: 0,
nonmeat: 'parmesan,olives',
meat: 'Salami',
sauce: 'MarinaraSauce',
crust: 'large',
_id: 571c1f11ba02d9f646f4c5c0 }

但我想将其转换为 JavaScript 数组,因为集合返回一个对象数组。我想过滤掉__v_id 。我打算使用这个结果显示在谷歌饼图上。我只想要关键项目:nonmeat , meat , saucecrust 。我打算在谷歌饼图上显示项目的百分比。

下面是我从 mongodb 检索数据的代码:

app.get('/orders', function(req, res){

var allorders = [];
//get all orders
PizzaOrder.find({}, function(err, orders){

if(err) throw err;

console.log('The orders '+orders.length);

//this is wrong
for(var i=0; i<orders.length;i++) {
allorders.push(JSON.parse(orders[i]));
}
});
console.log('Orders retrieved '+ allorders);

res.json(allorders);

});

更新!!!!!!!!

我能够以 json 格式发送它并在浏览器上查看。这是我的代码:

app.get('/orders', function(req, res){
//get all orders
PizzaOrder.find({}, function(err, orders){

if(err) throw err;

console.log('The orders '+orders.length);
res.send(orders);
});
});

但我想将其过滤掉 _id:__v: 。我正在使用 ajax 调用来接收响应并打算显示在 Google 饼图上。

最佳答案

如果您的问题是如何删除 _id 和 __v,只需执行以下操作:

 for(var i=0; i<orders.length;i++) {
delete orders[i].__v;
delete orders[i]._id;
allorders.push(orders[i]);
}

关于node.js - 将 mongodb 数据解析为 javascript 数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36818527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com