node.js - 使用 NodeJS 在 MongoDB 上存储用户点击信息
问题描述
我有一个普遍的问题。
我的 MERN 应用程序包含某些与用户相关的链接,这些链接通过用户的个人资料向公众显示。
我的目标是跟踪每个链接的点击次数、点击这些链接的时间戳以及这些点击来自哪个国家/城市。
此信息用于将上述点击的统计信息提供给我的应用程序的用户。
目前,我在 My MongoDB Schema 中使用了一个对象数组,在其中我附加了一个包含点击信息的对象,如下所示:
const ClickDetails = new mongoose.Schema({
country: { type: String, default: "" },
city: { type: String, default: "" },
date: { type: Date, default: ""},
ip_address: { type: String, default: "" },
device: { type: String, default: "" }
})
这是一个示例社交媒体链接架构,我想使用上述架构存储用户社交媒体链接的点击信息:
social_link_list: [{
link: { type: String, default: "" },
isActive: { type: Boolean, default: false },
click_details: [ClickDetails] // As a user clicks on the link in profile, the click data is pushed to this array
}]
由于我将根据用户的分析要求过滤日期,有没有更好的方法来存储我的数据(或者更好的逻辑来跟踪一般的链接点击)?
解决方案
推荐阅读
- algorithm - 电子交易所前K股算法
- javascript - 如何使用 Javascript 将 JSON 布尔值更改为 Yes 或 No
- apache-spark - pyspark 中的最后一次出现索引
- docker - neo4j docker 映像(使用 plesk 管理的 vps),无法使用 Let's encrypt 证书分配用于安全螺栓连接的证书
- c++ - 代码编译但不起作用!cmd窗口只是理想和理想,但没有任何反应
- javascript - Javascript 中的异步等待
- sendgrid - 使用 jQuery 和谷歌标签管理器通过 SendGrid 发送交易电子邮件
- python - 如何一次按特定顺序运行多个 python 文件
- angularjs - AngularJS UI-Grid Tree View:子行如何具有与父行不同的列名?
- python - Python - 're.sub'ed 字符串在放入 sqlalchemy db.execute 命令时仍然包含特殊字符