才学 2017-10-30 05:29 采纳率: 0%
浏览 883

用python访问mongodb的一个问题

我想用python创建一个对象来接收mongodb中的一个文档,文档格式类似如下:
{ "_id" : ObjectId("59f2d36fb934f31fdc002485"), "Name" : "???1711", "Date" : "20
14/12/12", "data" : [ { "time" : "0901", "Open" : "13280.00", "Max" : "13280.00"
, "Min" : "13280.00", "Close" : "13280.00", "Volume" : "0", "Amount" : "580", "S
ettlement" : "0.00", "EXPMA1" : "13304.91", "EXPMA2" : "13301.51" }, { "time" :
"0902", "Open" : "13280.00", "Max" : "13280.00", "Min" : "13280.00", "Close" : "
13280.00", "Volume" : "0", "Amount" : "580", "Settlement" : "0.00", "EXPMA1" : "
13301.08", "EXPMA2" : "13300.66" }]}
data中包含的条数大概有300条左右。
---应该怎么实现这个对象?先谢了。

  • 写回答

1条回答 默认 最新

  • 才学 2017-10-30 05:51
    关注
    def loadBar(self, dbName, collectionName, days):
        print "zxb ctaEngine CtaEngine loadBar days = ", days
        """从数据库中读取Bar数据,startDate是datetime对象"""
        startDate = self.today - timedelta(days)
    
        d = {'datetime':{'$gte':startDate}}
        barData = self.mainEngine.dbQuery(dbName, collectionName, d, 'datetime')
    
        l = []
        for d in barData:
            print "zxb ctaEngine CtaEngine loadBar d = ", d
            bar = VtBarData()
            bar.__dict__ = d
            l.append(bar)
        return l
    类似上面代码中的VtBarData对象,其定义如下:
    class VtBarData(VtBaseData):
    """K线数据"""
    
    #----------------------------------------------------------------------
    def __init__(self):
        """Constructor"""
        super(VtBarData, self).__init__()
    
        self.vtSymbol = EMPTY_STRING        # vt系统代码
        self.symbol = EMPTY_STRING          # 代码
        self.exchange = EMPTY_STRING        # 交易所
    
        self.open = EMPTY_FLOAT             # OHLC
        self.high = EMPTY_FLOAT
        self.low = EMPTY_FLOAT
        self.close = EMPTY_FLOAT
    
        self.date = EMPTY_STRING            # bar开始的时间,日期
        self.time = EMPTY_STRING            # 时间
        self.datetime = None                # python的datetime时间对象
    
        self.volume = EMPTY_INT             # 成交量
        self.openInterest = EMPTY_INT       # 持仓量    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥30 软件自定义无线电该怎样使用
  • ¥15 R语言mediation包做中介分析,直接效应和间接效应都很小,为什么?
  • ¥15 Jenkins+k8s部署slave节点offline
  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)