MongoDB存储时间
之前一篇博客C++的时间中提到了MongoDB保存时间类型数据可以使用timestamp类型。
不过在实际编程过程中,发现保存timestamp容易,读取难。MongoDB C++的这方面的例子还没有找到。现在提供一个简便的方法。因为时间就是自1970年0点的秒数(或者毫秒数),类型是 64bit整数。
下面的代码可以将一个uint64_t(C++11的新类型)保存进MongoDB
mongo::BSONObjBuilder builder;
builder.append("ip", cpu.ip);
builder.append("host_name", cpu.host_name);
builder.appendNumber("epoch", static_cast<long long>(cpu.epoch));
builder.appendNumber("total_jiffies", static_cast<long long>(cpu.total_jiffies));
builder.appendNumber("work_jiffies", static_cast<long long>(cpu.work_jiffies)); session->get().insert("wind_tunnel.cpu", builder.obj());
这里用了static_cast<long long>将类型从uint64_t转换过来。
读取数据的例子代码:
uint64_t total1 = 0;
uint64_t work1 = 0;
if (!result.isEmpty()) {
total1 = result.getField("total_jiffies").numberLong();
work1 = result.getField("work_jiffies").numberLong();
MongoDB存储时间的更多相关文章
- Python: 处理mongodb文档,怎么让UTC时间转换为本地时间?
存储数据到MongoDB数据库时,一般我们会加一个更新数据的时间update_time.这时在python代码中 会用到datetime模块以便获取当前系统时间,但是存入到MongoDB数据库时,存储 ...
- MongoDB快速上手
1. MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 ...
- MongoDB时间类型
mongdb时间类型 Date() 显示当前的时间 new Date 构建一个格林尼治时间 可以看到正好和Date()相差8小时,我们是+8时区,也就是时差相差8,所以+8小时就是系统当前时间 I ...
- mongoDB 其他数据类型
时间 类型 获取当前时间 new Date() 自动生成当前时间(国际标准时间) db.class.insertOne({book:"数学",date:new Date()}) D ...
- 关于MongoDB时区问题
由于MongoDb存储时间按照UTC时间存储的,其官方驱动MongoDB.driver存储时间的时候将本地时间转换为了utc时间,但它有个蛋疼的bug,读取的时候非常蛋疼的是返回的是utc使时间.一个 ...
- MongoDB --- 02. 基本操作,增删改查,数据类型,比较符,高级用法,pymongo
一.基本操作 . mongod 启动服务端 2. mongo 启动客户端 3. show databses 查看本地磁盘的数据库 4. use 库名 切换到要使用的数据库 5. db 查看当前使用的数 ...
- flask 第七章 简陋版智能玩具 +MongoDB初识和基本操作
1.简陋版web智能玩具 FAQ.py文件 import os from aip import AipSpeech, AipNlp from uuid import uuid4 "" ...
- Mongodb数据库学习
数据库 MongoDB (芒果数据库) 数据存储阶段 文件管理阶段 (.txt .doc .xls)优点 : 数据可以长期保存 可以存储大量的数据 使用简单 缺点 : 数据一致性差 数据查找修改不方便 ...
- MongoDB入门教程三[数据类型]
MongoDB的文档使用BSON(Binary JSON)来组织数据,BSON类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null.布尔.数字.字符串.数组及对象),不 ...
随机推荐
- $.Event 你不知道的用法
最近在使用Bootstrap.js,一不小心趴开源码看了一下,尤其是看到tab.js var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $ ...
- 各种类型Android源代码
商城类APPhttp://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=673&extra=page%3D1 电影影院 ...
- php获取当前日期-7天
// 将目前的时间戳值放入一数组内$strdate = '2014-02-03';$desDate = strtotime($strdate);//var_dump($desDate); $times ...
- System V 机制(转)
引言 UNIX 内核管理的进程自主地操作,从而产生更稳定的系统.然而,每个开发人员最终都会遇到这样的情况,即其中一组进程需要与另一组进程通信,也许是为了交换数据或发送命令.这种通信称为进程间通信(In ...
- EL表达式(转)
转自:http://www.cnblogs.com/Fskjb/archive/2009/07/05/1517192.html EL 全名为Expression Language EL 语法很简单,它 ...
- Delphi之TDrawGrid绘制
一直都对QQ的好友列表很好奇,最先感觉用TreeView实现的,看了看TreeView的源码,发现要实现还真的不太好完成任务啊,其中最大的原因是自己的功力不足,后来觉得用ListView来做吧,结果也 ...
- perl 一个简单的面向对象的例子
<pre name="code" class="python">[root@wx03 wx]# cat x1.pm package x1; use ...
- 支持https的压力测试工具
支持https的压力测试工具 测试了linux下的几种压力测试工具,发现有些不支持https,先简单总结如下: 一.apache的ab工具 /home/webadm/bin/ab -c 50 -n 1 ...
- egret-android-support-gradle版
从3.1.3开始,Egret已经实现了Gradle构建!所以下文你爱看不看! 迟钝的Egret从3.1.3版本才开始支持Gradle,而笔者早在1.6.x版本就已经支持了,说明什么?说明Egret在某 ...
- magento中的各种form标签
1. Text Field $fieldset->addField('title', 'text', array( 'label' => Mage::hel ...