在 Mongodb 中存储价格随时间变化的最佳实践

     2023-03-11     98

关键词:

【中文标题】在 Mongodb 中存储价格随时间变化的最佳实践【英文标题】:Best practice to store price changes over time in Mongodb 【发布时间】:2022-01-21 00:29:11 【问题描述】:

我使用NestjsMongoose 作为ODM。我有一个名为 Product 的模型,它具有以下属性:

产品型号

    @Schema( timestamps: true, id:true, toJSON:virtuals:true )
    export class Product 
       @Prop( required: true, type: String )
       title: string

       @Prop( type: String )
       brand: string

       @Prop( type: String )
       description: string


       @Prop( type: Number)
       currentPrice: number

    

每 4 小时更新一次产品价格。我想知道在MongoDB 中存储产品价格历史记录的最佳方式是什么。在像PostgreSQL 这样的 SQL 数据库中,我们使用 (productId, price, date) 创建一个 ProductPrice 表。但是MongoDB 的最大文档大小是 16MB,并且我拥有数千种产品&MongoDB 中的最佳解决方案是什么??

【问题讨论】:

您是否尝试过您的 ProductPrice 架构?我没有预见到任何具体的困难。 16 MB 文档大小限制适用于单个文档(或相当于 RDBMS 中的一行),所以我猜您不太可能达到您提到的 3 字段模式的限制。 【参考方案1】:

这对MongoDB 来说并不具有挑战性,请随意创建一个ProductHistory 集合:


  id: ObjectId,
  product_id: ObjectId,
  created_at: Date,
  price: 99,
  currency: "$",
  expiration: 4,
  expired: false

【讨论】:

是否可以在 mongodb 上聚合多个条件

】是否可以在mongodb上聚合多个条件【英文标题】:Isitpossibletoaggregatewithmultipleconditionsonmongodb【发布时间】:2020-02-1507:23:11【问题描述】:我有一个定价集合,我想根据卖家查询随时间变化的最大价格变化,但我不知道如何在单... 查看详情

最佳实践:我应该将价格和成本存储为 NULL 还是 NOT NULL?

】最佳实践:我应该将价格和成本存储为NULL还是NOTNULL?【英文标题】:Bestpractice:shouldIstorepricesandcostsasNULLorNOTNULL?【发布时间】:2013-05-0115:09:03【问题描述】:我正在使用由许多人开发的数据库。与成本或价格相关的字段存在许... 查看详情

最佳实践:如何处理不断变化的“模式”/“列”的数据记录

...个最佳实践问题。我们的设置是一个hadoop集群,在hdfs中存储(日志)数据。我们以csv格式获取数据,每天一个文件。在这些文件 查看详情

KVO 在 UITableView 中观察模型变化的最佳实践

...标题】:BestpracticeforKVOobservingmodelchangesinUITableView【发布时间】:2013-12-1113:42:17【问题描述】:让我们想象一个基本的iPhone应用程序,它有一个表格视图来显示人员列表和一个详细信息视图来更改嵌入在导航控制器中的人的姓名... 查看详情

.NET MongoDB 连接的最佳实践?

】.NETMongoDB连接的最佳实践?【英文标题】:.NETbestpracticesforMongoDBconnections?【发布时间】:2011-01-1217:40:48【问题描述】:我最近一直在使用GitHub上的C#驱动程序玩MongoDB(速度非常快)。在我正在测试的小型单线程控制台应用程序... 查看详情

连接 MongoDB 的最佳实践 [重复]

】连接MongoDB的最佳实践[重复]【英文标题】:BestpracticeforjoinsMongoDB[duplicate]【发布时间】:2016-11-3018:06:11【问题描述】:我正在构建一个基本上允许用户管理在线通讯录的应用程序。我是一名SQL专家,习惯于规范化我的Db。我正... 查看详情

在安全区域中存储内容的最佳实践

】在安全区域中存储内容的最佳实践【英文标题】:Bestpracticesforstoringcontentinsecurearea【发布时间】:2017-01-0618:53:14【问题描述】:在我们的项目中,我们有单独的登录页面和几个SPA,用户只有在经过适当的身份验证后才能访问。... 查看详情

在 VueJS 中存储身份验证令牌的最佳实践?

】在VueJS中存储身份验证令牌的最佳实践?【英文标题】:BestpracticeforstoringauthtokensinVueJS?【发布时间】:2018-01-0503:41:25【问题描述】:我的后端是由Django-Rest-Framework提供的RESTAPI。我在前端使用VueJS,并试图找出进行身份验证/登... 查看详情

在内部存储最佳实践中保存大量图像

】在内部存储最佳实践中保存大量图像【英文标题】:Savealotofimageininternalstoragebestpractice【发布时间】:2021-11-0216:04:21【问题描述】:我需要在文件内部存储目录中保存很多图像,所以我对执行此操作的最佳做​​法表示怀疑。... 查看详情

在 MongoDB 中存储数据的最佳方式

】在MongoDB中存储数据的最佳方式【英文标题】:BestwaytostoredatainaMongoDB【发布时间】:2020-07-0911:28:11【问题描述】:我正在构建一个网站,用户可以在其中为其组中的其他用户创建任务。然后,其他用户可以回答这些任务的答案... 查看详情

在java中存储状态变量的最佳实践是啥? [关闭]

】在java中存储状态变量的最佳实践是啥?[关闭]【英文标题】:Whatisthebestpracticetostorestatevariablesinjava?[closed]在java中存储状态变量的最佳实践是什么?[关闭]【发布时间】:2022-01-1803:55:16【问题描述】:我是Java新手。假设我想用Sw... 查看详情

在 git 存储库中处理密码的最佳实践是啥?

】在git存储库中处理密码的最佳实践是啥?【英文标题】:Whatisthebestpracticefordealingwithpasswordsingitrepositories?在git存储库中处理密码的最佳实践是什么?【发布时间】:2011-01-2418:21:40【问题描述】:我有一个小Bash脚本,用于访问twi... 查看详情

在 html attr 中存储值数组的最佳实践?

】在htmlattr中存储值数组的最佳实践?【英文标题】:Bestpracticetostorearrayofvaluesinhtmlattr?【发布时间】:2015-11-0502:53:33【问题描述】:将值数组存储在html(来自php)属性中并稍后从javascript/jQuery访问它们的最佳做法是什么?<divcl... 查看详情

在数据库中存储图像参考的最佳实践

】在数据库中存储图像参考的最佳实践【英文标题】:Bestpracticesforstoringimagereferenceinadatabase【发布时间】:2012-09-0420:30:12【问题描述】:我正在设计一个页面,其中每张上传的图片都包含不同的图片尺寸。Forexampleanimagecanbe:origina... 查看详情

为啥while循环的执行速度会随时间变化?

...一部分中,while循环通过SPI协议从传感器接收信息并将其存储在Mysql数据库中,当我们检查存储的数据时会出现问题 查看详情

在应用程序中存储个人资料图像的最佳实践

】在应用程序中存储个人资料图像的最佳实践【英文标题】:Bestpracticeintermsofstoringprofileimagesinapp【发布时间】:2016-11-1311:51:24【问题描述】:我正在创建一个应用程序,其中每个用户都有一个大约30kb的个人资料图像。但是我现... 查看详情

在 nexus 中存储 maven 工件的最佳实践

】在nexus中存储maven工件的最佳实践【英文标题】:Bestpracticesforstoringmavenartifactsinnexus【发布时间】:2017-03-1823:56:48【问题描述】:在我的公司,我们有团队致力于使用mavenpom和gradle构建脚本构建的服务。我遇到的问题是,当团队... 查看详情

在数据库中存储 PHP 会话数据的最佳实践是啥?

】在数据库中存储PHP会话数据的最佳实践是啥?【英文标题】:WhatarethebestpracticesforstoringPHPsessiondatainadatabase?在数据库中存储PHP会话数据的最佳实践是什么?【发布时间】:2011-02-1423:45:07【问题描述】:我开发了一个Web应用程序... 查看详情