使用 express/mongoose 将用户 IP 地址保存到数据库
Posted
技术标签:
【中文标题】使用 express/mongoose 将用户 IP 地址保存到数据库【英文标题】:Save user IP adress to DB using express/mongoose 【发布时间】:2021-03-11 14:58:58 【问题描述】:我想使用用户的 mongoose 模型文件将用户 IP 地址保存到 mongoDB。 任何人有什么建议我该怎么做?
用户模块文件架构:
const userSchema = new Schema(
username:
type: String,
required: true,
unique: true,
trim: true,
minlength: 4
,
password:
type: String,
required: true,
trim: true,
minlength: 4
,
IP:
type: String
, timestamps: true );
【问题讨论】:
见这里***.com/questions/10849687/… 【参考方案1】:使用 express 这应该相当简单:
app.post('/your-route', async ( req, res ) =>
await YourModel.save(
IP: req.connection.remoteAddress,
// other fields
);
);
如果您使用代理或需要更复杂的方法,您可以考虑使用像 https://www.npmjs.com/package/request-ip 这样的库来确定 IP 地址。
【讨论】:
当我运行它时,我在 DB 中得到“IP:”::1”,据我了解,这意味着 127.0.0.1,对吗?它会正常工作(我会得到正确的本地 IP ? ) 当我在其他网络上运行它时? 是的,因为您使用的是 IPv6,如果您从本地主机执行请求,您将看到 ::1。以上是关于使用 express/mongoose 将用户 IP 地址保存到数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用 Nodejs、Express、Mongoose 和 React 将图像上传到 MongoDB
无法将值传递到 MongoDB,使用 Node 和 Express,Mongoose
基于 GET 参数的 Express/Mongoose REST API 路由
如何使用 express、mongoose 将 mp3 上传到 mongodb