- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我从 ISODate 对象的 MongoDb 接口(interface)中丢失了纳秒。当我在 perl 中读取它们时,所有纳秒都设置为零。
首先是我的环境:
MongoDB version: 1.8.2
perl v5.12.4
MongoDB perl module version: 0.701.4
我有一个将 rtcTime 编码为 ISODate 的 Mongo DB,如下所示:
"rtcTime" : ISODate("2013-05-13T18:54:55.918Z")
提取 rtcTime 的代码如下所示:
my @results = $db->get_collection( 'timings' )->find( )->all();
foreach my $record ( @results )
{
print $record->{rtcTime}->nanoseconds()."\n";
}
输出全为0。
要完全重现该问题,请在 MongoDB 数据库中创建一个具有任意(非零)hires_epoch 值的 ISODate 对象。然后尝试使用 MongoDB/DateTime/DateTime::Format::ISO8061 模块来提取任何类型的雇用时间数据。
问:为什么我无法从 MongoDB ISODate 数据中获取毫秒、微秒或纳秒?
最佳答案
MongoDB 以 BSON 格式存储文档及其 specification说:
BSON Date is a 64-bit integer that represents the number of milliseconds since the Unix epoch (Jan 1, 1970).
因此,日期精度仅限于毫秒。如果你真的需要存储纳秒,你不应该使用日期类型。您必须使用 long 并存储时间戳,这样您就不会失去精度。
关于perl - 来自 MongoDB ISODate 对象的纳秒丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17476176/
我的应用程序生成 JSON 格式的日志。日志看起来像这样: {"LogLevel":"error","Datetime":"2013-06-21T11:20:17Z","Module":"DB","M
我正在编写一个 RScript 来将当前系统时间戳与 MongoDB 最后更新的时间戳进行比较。我的做法: db.runs.find().sort({'id':-1}).limit(1) - 给出最后
如何将字符串 "2015-02-02" 转换为 ISODate 2015-02-02T00:00:00.000Z?我试图找到一些例子,但没有找到。 最佳答案 您可以为此使用常规的 Javascript
我试图将正则表达式过滤器(年)应用于日期类型字段,但查询未返回任何结果。那么是不是试图了解此查询的行为? db.collection.find({"ReportedDate":/2016/i}) 注意
我正在执行测试以确保我正确获取日期。 我当前的测试是:选择 mongodb ISODate 格式的日期并将其转换为数值(自 1970 年以来的毫秒数),反之亦然 示例: var date_test =
我正在使用 MongoCursor 迭代集合并检索changeDate(ISODate 格式)。但是,使用 mongocursor 会以不同的格式返回数据。是否可以检索 ISODate 格式的chan
是否可以计算文档中两个日期之间的差异服务器端,并对其进行查询? (如SQL的DATEDIFF函数) 假设我有很多这样的文档: >>> db.collection.find() [ { "id"
我需要返回集合中每个用户的最小 client_timestamp 值,但是我无法让 $min 运算符以这种方式运行。有没有办法让查询返回集合中所有 user_ids 的最小 client_timest
我正在寻找来自 qt 的日期时间,以将字符串作为 isodate 但带有时区返回给我。我有时会在网上查看我的问题,但没有找到解决方案 我刚刚得到这个: this->ui.dateEnd->dateTi
为什么最后两个语句返回false? test:PRIMARY> a = new ISODate(); b = a; ISODate("2014-08-21T19:48:12.963Z") test:P
问题在 MongoDB 中将字符串解析为日期时,推荐的实现是什么? 我问这个是因为我们有供应商以“2017-01-01”和“2017/01/01”的格式向我们发送日期的字符串表示形式。我原以为使用 D
在集合中,我存储了这种文档: { "_id" : ObjectId("55e8a5cba21b9e051eb448d1"), "created_at" : "2015-01-01T00
我正在尝试使用 nodejs/mongoose 从 mongodb 获取结果。 var dateStr = new Date(year,month,day,0,0,0); var nextDate =
我正在尝试按小时聚合 MongoDB 集合中的记录,并且需要将存储为时间戳(毫秒)的日期转换为 ISODate,以便我可以使用聚合框架的内置日期运算符($hour、$month 等) 记录存储为 {
我正在尝试运行这个: mongoexport.exe -h *MYHOST* -p *MYPORT* -q "{'time':{'$gte': ISODate('2014-12-21 12:57:00
我似乎无法在 MongoDB 中使用最基本的日期查询。文档看起来像这样: { "_id" : "foobar/201310", "ap" : "foobar", "dt" :
我无法在 python 中导入 rdflib。错误详细信息: Python 2.7.3 (default, Jun 27 2012, 23:48:21) [GCC 4.6.1] on linux2 T
有谁知道一种更简洁的方法来将时区包含在 QDateTime 的 ISO 字符串表示中? 我应该可以使用以下内容: qDebug() #include int main(int argc, int
我有一个适用于 mongodb shell 的简单查询: db.collection.find({"date": {$lt: ISODate("2015-11-03T00:00:00Z")} }) 非
我从 ISODate 对象的 MongoDb 接口(interface)中丢失了纳秒。当我在 perl 中读取它们时,所有纳秒都设置为零。 首先是我的环境: MongoDB version: 1.8.
我是一名优秀的程序员,十分优秀!