使用mongodb存储日内股票数据

使用mongodb存储日内股票数据,mongodb,Mongodb,我想存储day bay日交易股票数据。这些数据是复合数据(即价格-数量),需要按顺序整理。如何组织mongodb数据,以便非常频繁地更新数据,并通过股权名称、日期读取索引? 提前感谢您可以使用如下模式: 股票 { _id: "MSFT", price: 24.69, volume: 53931025, date: 20110519 } 然后在要排序和筛选的字段上添加索引,例如 db.stocks.ensureIndex( { date: 1 } ) 默认情况下

我想存储day bay日交易股票数据。这些数据是复合数据(即价格-数量),需要按顺序整理。如何组织mongodb数据,以便非常频繁地更新数据,并通过股权名称、日期读取索引?
提前感谢

您可以使用如下模式:

股票

{
    _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之外的任何其他字段,那么您就没事了。