erlang处理mongodb日期时间格式data类型

在项目中,mongo中要创建日期类型,根据这个日期类型进而对mongo设置过期时间自动删除。而mongo中的日期类型,使用ISO格式,例如:ISODate("2012-11-02T07:58:51.718Z")

在java中,例如: db.tianyc04.insert({mark:1, mark_time:new Date()}) ,一个new Date() 直接轻松搞定,

看到 { "_id" : ObjectId("5126e00939899c4cf3805f9b"), "mark" : 1, "mark_time" : ISODate("2013-02-22T03:03:37.312Z") }是这个样子的.

而在erlang中,一开始没有找到如何创建成mongo中对应的data的数据类型。根据时间戳生产的串后,创建出来的在mongo客户端中看到发现是string类型的,而这样显然是不符合mongo根据过期时间自动删除的要求的。

而尝试了好些次后,发现now() 就可以搞定。

举个栗子:

push_offline_msg_mongo_insert_all(GroupClientList, PushMsgId) ->

    DbInfo = push_op_mongo:init_dbinfo(),
    {MongoConn, DbName, Collection} = split_mh_android(DbInfo),
    mongo:do(unsafe, master, MongoConn, DbName, fun() -> 

               mongo:insert_all(Collection,[{"mid",list_to_integer(PushMsgId), "t", Token,"sut",0,"rut",0,"out",0,"aut",0, "cut",now()} || Token <- GroupClientList ]) end).

 结果下:

这样就轻松搞定了.

时间: 2024-12-15 12:18:21

erlang处理mongodb日期时间格式data类型的相关文章

Java日期的格式String类型GMT,GST换算成日期Date种类

请尊重他人的劳动成果.转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/article/details/40164721 在实际开发过程中常常会须要将Date类型的数据封装成XML或Json格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候仅仅能获取String类型的日期了,这是由于SQLite是无类型的.这样不得不面对将String 类型的日

IOS --- 日期时间格式 转换

1.如何如何将一个字符串如" 20110826134106"装化为任意的日期时间格式,下面列举两种类型: NSString* string [email protected]"20110826134106"; NSDateFormatter*inputFormatter = [[[NSDateFormatter alloc] init]autorelease]; [inputFormattersetLocale:[[[NSLocale alloc] initWith

一起Polyfill系列:让Date识别ISO 8601日期时间格式

一.什么是ISO 8601日期时间格式 ISO 8601是国际标准化组织制定的日期时间表示规范,全称是<数据存储和交换形式·信息交换·日期和时间的表示方法>. 示例: 1. 2014-12-12T00:00:00.000Z 2. 2014-12-12T00:00:00.000+08 3. 2014-12-12T00:00:00.000+0800 4. 2014-12-12T00:00:00.000+08:00 5. 2004-W17-3 6. 0001-165 详细说明请参考度娘:http:/

Android日期时间格式国际化

公共类 的DateFormatSymbols 扩展对象 实现 Serializable接口 Cloneable接口 java.lang.Object的    ? java.text.DateFormatSymbols 类概述 封装本地化的日期时间格式的数据,如几个月的名字,一周天的名字,和时区数据 的DateFormat 和 SimpleDateFormat 都使用 的DateFormatSymbols封装此信息. 通常情况下,你应该不能直接使用的DateFormatSymbols.相反,我们鼓

IOS --- 日期时间格式 更改

1.怎样怎样将一个字符串如" 20110826134106"装化为随意的日期时间格式.以下列举两种类型: NSString* string [email protected]"20110826134106"; NSDateFormatter*inputFormatter = [[[NSDateFormatter alloc] init]autorelease]; [inputFormattersetLocale:[[[NSLocale alloc] initWith

JSON日期时间格式转换

1 //JSON日期时间格式转换 2 //使用正则表达式将生日属性中的非数字(\D)删除 3 //并把得到的毫秒数转换成数字类型 4 var birthdayMilliseconds = parseInt(dateObj.replace(/\D/igm, "")); 5 //实例化一个新的日期格式,使用1970 年 1 月 1 日至今的毫秒数为参数 6 var date = new Date(birthdayMilliseconds); 7 var dateStr = date.toL

Sql日期时间格式转换

Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/ 语句及查询结果:Select CONV

DEDE日期时间格式大全

打造最全的CMS类教程聚合! 日期时间格式 (利用strftime()函数格式化时间) 首页: ([field:pubdate function='strftime("%m-%d",@me)'/])==(5-15) ([field:pubdate function='strftime("%b %d, %Y",@me)'/])==(May 15, 2008) 列表页: [field:pubdate function="GetDateTimeMK(@me)&q

日期时间格式正则表达式

日期时间格式正则表达式 本文章已收录于: 正则表达式 (?n:^(?=\d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(?(.0?2)(?=.{3,4}(1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00))|0?[1-9]|1\d|2[0-8])(?<sep>[/.-])(?<month>0?[1-9]|1[012])\2(?