使用mongodb存储日内股票数据
我想存储day bay日交易股票数据。这些数据是复合数据(即价格-数量),需要按顺序整理。如何组织mongodb数据,以便非常频繁地更新数据,并通过股权名称、日期读取索引?使用mongodb存储日内股票数据,mongodb,Mongodb,我想存储day bay日交易股票数据。这些数据是复合数据(即价格-数量),需要按顺序整理。如何组织mongodb数据,以便非常频繁地更新数据,并通过股权名称、日期读取索引? 提前感谢您可以使用如下模式: 股票 { _id: "MSFT", price: 24.69, volume: 53931025, date: 20110519 } 然后在要排序和筛选的字段上添加索引,例如 db.stocks.ensureIndex( { date: 1 } ) 默认情况下
提前感谢您可以使用如下模式: 股票
{
_id: "MSFT",
price: 24.69,
volume: 53931025,
date: 20110519
}
然后在要排序和筛选的字段上添加索引,例如
db.stocks.ensureIndex( { date: 1 } )
默认情况下,\u id
键字段被编入索引,因此类似这样的更新将非常快:
db.stocks.update( { _id: "MSFT" }, { $set : { price: 25.04 } } )
您可以使用类似以下内容的模式: 股票
{
_id: "MSFT",
price: 24.69,
volume: 53931025,
date: 20110519
}
然后在要排序和筛选的字段上添加索引,例如
db.stocks.ensureIndex( { date: 1 } )
默认情况下,\u id
键字段被编入索引,因此类似这样的更新将非常快:
db.stocks.update( { _id: "MSFT" }, { $set : { price: 25.04 } } )
伟大的因为我使用的是盘中数据,所以我会偶然添加一些额外的“勾号”来保持集合的有序性,是否需要一些特殊的标记或仅仅添加一个索引就足够了?这应该足够了,如果您所做的只是对勾号进行排序,那么
db.stocks.ensureIndex({Tick:1})
,如果你没有过滤除_id之外的任何其他字段,那么你会没事的。太好了!因为我使用的是盘中数据,所以我会偶然添加一些额外的“勾号”来保持集合的有序性,是否需要一些特殊的标记或仅仅添加一个索引就足够了?这应该足够了,如果您所做的只是对勾号进行排序,那么db.stocks.ensureIndex({Tick:1})
,如果您没有过滤除_id之外的任何其他字段,那么您就没事了。