【发布时间】:2022-01-14 07:08:58
【问题描述】:
我正在尝试实现一项功能,例如 Instagram 提供的功能;我说的是它的“登录活动”页面。这就是我所说的:
每次用户登录时,当前正在使用的设备都会存储在页面中。我该怎么办?
我的当前代码使用了两个库,一个用于从正在使用的设备中查找 ip.address(),另一个用于帮助我获取有关给定 IP 地址的位置数据。可悲的是,我无法让它工作。代码是这样的:
const ipLocation = require('ip-to-location')
const ip = require('ip')
const loc = await ipLocation.fetch(ip.address())
console.dir('Location', loc)
await User.findOneAndUpdate(
{ email: req.body.email },
{
$push: {
loginActivity: {
type: 'Point',
coordinates: [loc.longitude, loc.latitude],
// formattedAddress: loc[0].formattedAddress,
// street: loc[0].streetName,
city: loc.city.city,
state: loc.region_name,
zipcode: loc.zip_code,
country: loc.country_code,
},
},
}
)
是否有任何替代库可供使用?或者有人可以指出我正确的方向以使这成为可能吗?
【问题讨论】:
标签: javascript node.js mongodb geolocation ip-geolocation