我正在尝试使用 mongoose 中的 .find
函数来获取我的收藏中的全部项目。然后我尝试使用 forEach
循环来设置变量,并使用信息插入数组。
由于某种原因它不起作用,我尝试控制台记录任何错误,但它没有返回任何内容,我是否正确使用了这个函数?
[ { _id: 5b7e933aa5b5e7165fd02e77,
id: 7151,
location: 'X: 151.1869; Y: -1006.755; Z: -98.99999',
price: 5000,
door: 'X: -2.0055665969848633; Y: 20.169893264770508; Z: 71.10984802246094',
__v: 0 },
{ _id: 5b7e96042ba33b18dd03740f,
id: 6264,
location: 'X: 151.1869; Y: -1006.755; Z: -98.99999',
price: 5000,
door: 'X: -405.9184265136719; Y: 1160.5306396484375; Z: 325.9139404296875',
__v: 0 },
{ _id: 5b7e9664344f8c198f0fd266,
id: 1694,
location: 'X: 151.1869; Y: -1006.755; Z: -98.99999',
price: 5000,
door: 'X: -406.7716369628906; Y: 1162.4755859375; Z: 325.9158630371094',
__v: 0 } ]
House.find({}, function(err, house) {
console.log(house);
if(err) console.log(err);
house.forEach(function(h) {
let loadHouse = {
id: h.id,
location: JSON.parse(h.location),
price: h.price,
door: JSON.parse(h.door),
}
houses.push(loadHouse);
console.log(houses);
});
最佳答案
错误似乎出现在 forEach 中,您正在尝试将 JSON.parse()
与无效的 json 字符串一起使用。
JSON.parse('X: -405.9184265136719; Y: 1160.5306396484375; Z: 325.9139404296875')
所以现在你应该删除 JSON.parse()
(抱歉,我在评论中发布了该内容,但应该将其作为答案)
关于javascript - Mongoose:尝试在集合中的项目数组中执行 forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51984722/